Switching processes for control of servos

ABSTRACT

Apparatuses and methods for switching servos for rapid settling times and nil overshoot without the use of sensors include switching times and the application of varying amplitudes at the switching times to control the servo without the use of sensors.

[0001] The present invention relates generally to servo control, and more specifically to switching processes for sensor-free servo control.

BACKGROUND

[0002] The concept of feedback control has witnessed countless advances and breakthroughs, one after another, not only in theory but in diverse applications far beyond its original engineering horizon. Its richness also has necessitated the creation of new disciplines and finer division of old disciplines, such as adaptive control, optimal control, H_(∞)-control, and the like. Amongst the list of challenges and accomplishments from its inception, servomechanisms are one of the most fundamental problems in control theory.

[0003] In the simplest setting, a servo can be cast into a standard linear, second order, constant-coefficient ordinary differential equation most often used in modeling a mass-damper-spring system with an external excitation, also referred to in certain cases as an input or a stimulus.

[0004] Servomechanisms, or servos, are typically controlled using feedback. However, the use of feedback implies use of sensors to measure observables. Sensors have an associated cost. Sensors take up space which could otherwise be used for payload, and sensors have an associated weight that must be considered for overall performance, specifications, guidance, range, and the like. Further, sensors themselves bring uncertainty and noise into systems. Sensors placed on the servo, or incorporated into the servo, gather and relay information, typically including position, velocity, and acceleration information, to a controller through feedback paths. Such feedback leads to good control of servo operation.

[0005] Consider a standard mass-damper-spring system that is severely underdamped. Such systems suffer not only large over- and under-shoots but long settling times. The former poses danger in saturation and excites nonlinear dynamics either unconsidered or ignored, whereas the latter can induce catastrophic resonance among all such systems.

[0006] Overdamped and the critically damped systems have zero overshoot but suffer long rising time and so have even longer settling time. A related feature of these systems is their monotony. The ‘steady’ state is reached only asymptotically.

[0007] There are a collection of feedback control problems which historically have been solved in this manner: (a) solving the open-loop control as a function of time u=u(t), (b) equating u as an unknown function, or operator F (linear, nonlinear) of the state x, the output y, or the measurement z, and solving for F.

[0008] Preliminary Considerations and Previous Results

[0009] Consider a basic servomechanism problem to begin with. For single input single output (SISO) linear time invariant (LTI) systems in form of

a _(n) x ^((n)) +a _(n−1) x ^((n−1)) + . . . +a ₁ {dot over (x)}+a ₀ x=u(t),   (2.1)

[0010] with a given desired system response x(t) satisfying certain essential Laplace transformability conditions, the pertinent servo control input û(t) can be shown as given by $\begin{matrix} {\hat{u} = {L^{- 1}\left\{ {{R_{n}\hat{X}} - {R_{n - 1}x_{0}} - {R_{n - 2}{\overset{.}{x}}_{0}} - \ldots - {R_{1}x_{0}^{({n - 2})}} - {R_{0}x_{0}^{({n - 1})}}} \right\}}} & (2.2) \end{matrix}$

[0011] where {circumflex over (X)}(s)=L{{circumflex over (x)}(t)}, {circumflex over (x)}(t) the desired system response, and

R _(k)(s):=a _(n) s ^(k) +a _(n−1) s ^(k−1) + . . . +a _(n−k−1) s+a _(n−k) =sR _(n−1) +a _(n−k) , R ₀ =a _(n−k),   (2.3)

[0012] In particular, if x₀={dot over (x)}₀= . . . {dot over (x)}₀ ^((n−1))=0, then $\begin{matrix} {\hat{u} = {L^{- 1}{\left\{ {\left( {{a_{n}s^{n}} + \ldots + {a_{1}s} + a_{0}} \right)\hat{X}} \right\}.}}} & (2.4) \end{matrix}$

[0013] For multiple input multiple output (MIMO) LTI systems {dot over (x)}=Ax+Bu, equation (2.2) changes to $\begin{matrix} {\hat{u} = {\left( {B^{T}B} \right)^{- 1}{B^{T}\left\lbrack {{\left( {{sI} - A} \right)\hat{X}} - x_{0}} \right\rbrack}}} & (2.5) \end{matrix}$

[0014] assuming invertibility of B^(T)B. Equations (2.2)-(2.3) are considered as a summary/solution to the most basic linear servomechanism problems. No consideration is given to conditions such as ∥u(t)∥≦1, however.

[0015] Note that if {circumflex over (x)}(t)={circumflex over (x)}_(f) for t≧t_(f), then $\begin{matrix} {{\hat{X}(s)} = {{\int_{0}^{t}{f\hat{x}^{- {st}}\quad {t}}} = {{- {\frac{^{- {st}_{f}}}{s}\left\lbrack {{\hat{x}}_{f} + {\int_{0}^{t}{f\overset{.}{\hat{x}}^{- {st}}\quad {t}}}} \right\rbrack}} = {\ldots = {- {{\frac{^{- {st}_{f}}}{s}\left\lbrack {{\hat{x}}_{f} + {\frac{1}{s}{\overset{.}{\hat{x}}}_{f}} + {\frac{1}{s^{2}}{\overset{¨}{\hat{x}}}_{f}} + \ldots} \right\rbrack}.}}}}}} & (2.6) \end{matrix}$

[0016] provided that (2.1) starts from rest. On the other hand, given an input û(t)⇄Û(s), $\begin{matrix} {\hat{X} = {\frac{U + {\sum\limits_{k = 1}^{n}{R_{n - k}x_{0}^{({k - 1})}}}}{R_{n}} = {:{\frac{N(s)}{P(s)}.}}}} & (2.7) \end{matrix}$

[0017] Smith (Smith, O. J. M., Feedback Control Systems, McGraw-Hill, New York, 1958) was the first who proposed Posicast control (for positive-cast) and demonstrated the idea with a very simple mechanism, a pendulum. For time-optimal control systems, Neustadt (Neustadt, L. W., “Time Optimal Control Systems With Position and Integrals Limits,” J. Math. Anal. and Appl., Vol. 3, 406-427, 1961) included position and integral limits in the Pontryagin Maximum Principle. Wang (Wang, P. K. C., “Analytical Design of Electrohydraulic Servomechanisms with Near Time-Optimal Responses,” IEEE Trans. Auto. Control, Vol. 8, No. 1, 15-27, 1963) had a dual-mode closed-loop analytical design for electrohydraulic servomechanisms. Davies (Davies, R. M., “Analytical Design for Time Optimum Transient Response of Hydraulic Servomechanisms,” J. Mech. Eng. Sci., Vol. 7, No. 1, 8-14, 1965) had an analytical design for hydraulic servomechanism. Being oriented toward practical application, both Wang and Davies elaborated on modeling and operation of nonlinear electrohydraulic and hydraulic servomechanisms, respectively. Athens (Athens, M., “Minimum-Fuel Control of Second-Order Systems with Real Poles,” IEEE Trans. Auto. Control, Vol. 9; No. 5, 148-153, 1964) derived the switching curves for minimum-fuel control of linear second-order systems with real poles. Different from minimum-time problem in which the control is necessarily bang-bang, the minimum-fuel control results in a bang-zero-bang profile. Of related interest, Ellert and Merriam (Ellert, F. J., and Merriam, C. W., “Synthesis of Feedback Controls Using Optimization Theory—An Example,” IEEE Trans. Auto. Control, Vol. 8, No. 4, 89-103, 1963) employed the so-called Parametric Expansion Method to vary the weighting factors for synthesis of linear time-varying feedback controls using optimization theory and illustrated by designing an aircraft landing system.

[0018] Yastreboff (Yastreboff, M., “Synthesis of Time-Optimal Control by Time Interval Adjustment,” IEEE Trans. Auto. Control, Vol. 14, No. 12,707-710, 1969) seemed to have initiated synthesis of time-optimal control for LTI systems with real modes by time interval adjustment. It has appeared that Goldwyn-Sriram-Graham (Goldwyn, R. M., Sriram, K. P., and Graham, M., J. SIAM Control, Vol. 5, 295, 1967) was the first which explicitly considered the switching times as unknowns to solve. Davison and Monro (Davison, E. J., and Monro, D. M., “A Computational Technique for Finding “Bang-Bang” Controls of Non-Linear Time-Varying Systems,” Automatica, Vol. 7, 255-260, 1971) gave a hill climbing-based computational technique finding the bang-bang control switching times of nonlinear time-varying systems. Farlow (Farlow, F. J., “On Finding Switching Times in optimal Control Systems,” Int. J. Control, Vol. 17, No. 4, 855-861, 1973) extended Goldwyn-Sriram-Graham and used complex analysis to form and solve the switching times for LTI control systems with real poles. Consider now a unit-ON/OFF input $\begin{matrix} {\hat{u} = {\left. {1 - {2{u\left( {t - t_{1}} \right)}} + {2{u\left( {t - t_{2}} \right)}} - \ldots + {2\left( {- 1} \right)^{n_{s} - 1}{u\left( {t - t_{n_{s} - 1}} \right)}}\quad + {\left( {- 1} \right)^{n_{s}}{u\left( {t - t_{n_{s}}} \right)}}}\leftrightarrow\hat{U} \right. = {\frac{1}{s}\left\lbrack {1 - ^{- {st}_{1}} + {2^{- {st}_{2}}} - \ldots + {2\left( {- 1} \right)^{n_{s} - 1}^{- {st}_{n_{s} - 1}}} + {\left( {- 1} \right)^{n_{s}}^{- {st}_{n_{s}}}}} \right\rbrack}}} & (2.8) \end{matrix}$

[0019] where t₁, . . . , t_(n) _(s) =: t_(f) are the unknowns. Farlow reasoned that they can be solved thru equations $\begin{matrix} {{{\lim\limits_{s->s_{k}}\quad {N(s)}} = {{0\quad {where}\quad {P\left( s_{k} \right)}} = 0}},{k = 1},\ldots,n,} & (2.9) \end{matrix}$

[0020] by applying a property of removable singularities for complex entire functions. Farlow restricted this method to real s_(k) only. In addition, it does not appear that (2.9) is solvable (with 0<t₁< . . . <t_(f)) for any given initial condition.

[0021] Recent attention of minimum-time and/or of minimum-fuel control has been centered at flexible structures. Singh, Kabamba, and McClamroch pointed out an important time-symmetry property in planar, time-optimal, rest-to-rest slewing maneuvers of flexible spacecraft (Singh, G., Kabamba, P. T., and McClamroch, N. H., “Planar, Time-Optimal, Rest-to-Rest Slewing Maneuvers of Flexible Spacecraft,” AIAA J. Guidance, Vol. 12, No. 1, 71-81, 1989). Focused on reducing or eliminating the endpoint vibration, Singer and Seering took an input-shaping approach making use of multiple impulses and convolution and showed its robustness to parameter variations (Singer, N. C., and Seering, W. P., “Preshaping Command Inputs to Reduce System Vibration,” Trans ASME, Vol. 112, 76-82, March, 1990). More recently, Pao led extensive studies in this area showing the equivalence between minimum-time input shaping and traditional time-optimal control [Pao-Singhose 1995], comparing constant and variable amplitude input shaping methods for vibration reduction [Pao-Singhose 1995], and obtaining minimum-time control characteristics of flexible structures (Pao, L. Y., “Minimum-Time Control Characteristics of Flexible Structures,” AIAA J. Guidance, Control, and Dynamics, Vol. 19, No. 1, 123-129, 1996). Earlier, Barbieri and Özgüiner also proposed a new minimum-time control law for a one-mode model of a flexible slewing structure (Barbieri, E., and Özgüiner, Ü., “A New Minimum-Time Control Law for a One-Mode Model of a Flexible Slewing Structure,” IEEE Trans. Auto. Control, Vol. 38, No. 1, 12-146, 1993).

[0022] The control systems in the papers mentioned above are all in the form of

{dot over (x)}=Ax+bu   (2.10)

[0023] where

A=[A ₀ ×A ₁ × . . . ×A _(n)] and b=[0;b₀;0;b₁; . . . ;0;b_(n)],   (2.11)

[0024] with ${A_{0} = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix}},{b_{0} = 1},{A_{i} = \begin{pmatrix} 0 & 1 \\ {- \omega_{i}^{2}} & {{- 2}\xi_{i}\omega_{i}} \end{pmatrix}},$

[0025] i=1, . . . ,n (x and ; denoting (block) diagonal and column formations, respectively). That is, n oscillatory modes are modeled in, or rather added into, consideration in addition to the main, double-integrator. There, the pivotal equation $\begin{matrix} \left\{ {{{\begin{matrix} {1 - {2^{\omega_{i}s_{i}t_{1}}} + \ldots + {2\left( {- 1} \right)^{n_{s}}^{\omega_{i}s_{i}t_{n_{s}}}} +} \\ {{{\left( {- 1} \right)^{n_{s} + 1}^{\omega_{i}s_{i}t_{f}}} = 0},} \\ {1 - {2^{\omega_{i}{\overset{\_}{s}}_{i}t_{1}}} + \ldots + {2\left( {- 1} \right)^{n_{s}}^{\omega_{i}{\overset{\_}{s}}_{i}t_{n_{s}}}} +} \\ {{{\left( {- 1} \right)^{n_{s} + 1}^{\omega_{i}{\overset{\_}{s}}_{i}t_{f}}} = 0},} \end{matrix}\quad i} = 1},\ldots,n,} \right. & (2.12) \end{matrix}$

[0026] with k the number of switches, s_(i):=p_(i)+{square root}{square root over (p_(i) ²−1)}, 0<t₁< . . . <t_(n) _(s) the switching times and t_(f):=t_(n) _(s) ₊₁, were stated without derivation.

[0027] In addition, all the mentioned literature considered the control problem as a stabilization, viz. return to zero problem. In spite of their mathematical equivalence, a servo perspective is different from a stabilization viewpoint.

[0028] Damped Phase, Error Window, and Damped Settling Time

[0029] A standard underdamped second order linear control system is modeled as follows:

x″+2pωx′+ω ² x=ω ² A, x(0)=x₀, x′(0)=y₀,   (3.1)

[0030] where p<1 and ω>0. Let A>0 without loss of generality. The solution x and its time-derivatives x′ and x″, also commonly interpreted as position, velocity, and acceleration, are given by $\begin{matrix} {{x = {A - {^{{- r}\quad \varphi}\left\{ {{\left( {A - x_{0}} \right)\cos \quad \varphi} - {\left\lbrack {\frac{y_{0}}{qw} - {r\left( {A - x_{0}} \right)}} \right\rbrack \sin \quad \varphi}} \right\}}}},} & (3.2) \\ {x^{\prime} = {{^{{- r}\quad \varphi}\left\{ {{y_{0}\quad \cos \quad \varphi} + {\left( {{ry}_{0} + {{\omega \left( {A - x_{0}} \right)}}} \right)\sin \quad \varphi}} \right\}} = {:{y.}}}} & (3.3) \end{matrix}$

[0031] The following quantities are defined: $\begin{matrix} {\left\lbrack {q,r,d,\varphi,\tau} \right\rbrack:=\left\lbrack {\sqrt{1 - p^{2}},\frac{p}{q},\frac{1}{q},{q\quad \omega \quad t},\frac{\pi}{q\quad \omega}} \right\rbrack} & (3.4) \end{matrix}$

[0032] associated with the identities: $\begin{matrix} {{{p^{2} + q^{2}} = 1},{p = {{qr} = \frac{r}{\sqrt{1 + r^{2}}}}},{q = \frac{1}{d}},{d = \sqrt{1 + r^{2}}},{{q^{2}\left( {1 + r^{2}} \right)} = 1.}} & (3.5) \end{matrix}$

[0033] Note also that $\begin{matrix} {{0 < \alpha}:={{\cos^{- 1}p} = {{\sin^{- 1}q} = {{\tan^{- 1}\frac{q}{p}} = {{\cot^{- 1}r} < {\frac{\pi}{2}.}}}}}} & (3.6) \end{matrix}$

[0034] Traditionally, consideration of p is centered about 1, i.e., classifying (3.1) into being underdamped with p<1, pardamped (critically damped) with p=1 and overdamped with p>1. From a qualitative (stability) viewpoint, p=0, viz. r=0 is the criticality: x(t) crosses A infinitely many times; p→1, viz. r→∞ is the limit (that x(t) crosses A infinitely many times); and p>1 renders the number of these crossings to only zero or possibly only one or two (but never more).

[0035] It will be clear that working with the damped phase (angle) φ is more than with time t directly. In addition, a is monotone, decreasing in p, viz. the more severely underdamped (3.1) is, the closer a is to its maximum π/2. Another significance of p involves maximum velocity; see Remark 4.1.

[0036] It is common that (3.1) is considered as a servomechanism by which in minimum time possible, (3.1) settles in a specified error window about the command value A. To specify such a window and this minimum time, also known as the settling time, denote the absolute and relative errors by E=E(t) :=|A−x| and ε=ε(t) :=E(t)/|A|. The error window may be specified either by the absolute excursion {overscore (E)} or by the relative excursion {overscore (ε)}, that E≦{overscore (E)} or ε≦{overscore (ε)} for all {overscore (t)}≦t (and the settling time is the minimum of such {overscore (t)}). For instance, x is the commanded angle of attack α. {overscore (E)} might be 0.1° $\frac{\pi}{180},$

[0037] while {overscore (ε)} might be, say, 5% of the commanded angle of attack.

[0038] The notion of precision _ := 1 ∈ _ = E _  A  ( 3.7 )

[0039] then follows naturally. This notion leads further to the power of precision

σ:=ln{overscore (φ)},   (3.8)

[0040] an equivalent of the binary, index of difficulty I:=log₂{overscore (φ)}, also identified as bits of information. Note that I=σ log₂ e=1.442695σ.

[0041] With all system-intrinsic parameters considered, the settling time of (3.1), denoted by t_(s), is a function of {overscore (s)}, or any of its equivalents, {overscore (ε)}, σ, etc. Besides, it is self-evident that t_(s) also depends on the initial condition [x₀, y₀] of (3.1). To determine the settling time of (3.1) given an initial condition [x₀, y₀], process flows from the simplest state, also known as the zero state, with [x₀, y₀]=[0, 0] to the most general cases.

[0042] With [x₀, y₀]=[0, 0], [x, y] reduces to

[x, y]=A[1−e ^(−rφ)(cos φ+r sin φ), dωe ^(−rφ) sin φ].   (3.9)

[0043] Evidently, when y=0, x has its turning (maximum or minimum) points, at which {overscore (φ)}_(k)=kπ and

{overscore (x)} _(k) =A[1+(−1)^(k+1)λ^(rk)], k=1,2, . . . ,   (3.10)

[0044] where

λ:=e^(−π).

[0045] It is easy, then, to see that the overshoots and the undershoots occur at k=1,3,5,7, . . . and k=2,4,6,8, . . . , respectively, with excursion magnitudes Aλ^(kr).

[0046] By (3.10), Ae^(−krπ)≦{overscore (E)} and e^(−krπ)≦{overscore (ε)} for [x₀, y₀]=[0, 0]. It follows that $\begin{matrix} {{\overset{\_}{\varphi} = {\left. {\pi \left\lceil \frac{\sigma}{r\quad \pi} \right\rceil}\Leftrightarrow\overset{\_}{t} \right. = {{\frac{\pi}{q\quad \omega}\left\lceil \frac{\ln \left( {{1/}\overset{\_}{\in}} \right)}{r\quad \pi} \right\rceil} = {{\tau \left\lceil \frac{\sigma}{r\quad \pi} \right\rceil} \geq \tau > \frac{\pi}{\omega}}}}},} & (3.11) \end{matrix}$

[0047] where ┌(·)┐ is the smallest integer greater than (·). The term $\left\lceil \frac{\sigma}{r\quad \pi} \right\rceil$

[0048] gives the total count of excursions (peaks and valleys) about A when ‘settled.’

[0049] If x₀≠0 and y₀=0, (3.2)-(3.3) became

[x, y]=A[1−ε₀ e ^(−rφ)(cos φ+r sin φ), dωε ₀ e ^(−rφ) sin φ]  (3.12)

[0050] (ε₀=(A−x₀)/A by definition). Therefore, ε₀<0 if x₀>A, in which case the excursion sequence reverses that for ε₀>0. It is easy to see that {overscore (φ)}_(k)=kπ still while {overscore (x)}_(k) becomes

{overscore (x)} _(k) =A[1+(−1)^(k+1)ε₀λ^(rk)], k=1,2, . . . ,   (3.13)

[0051] It follows that $\begin{matrix} {\overset{\_}{t} = {{\frac{\pi}{q\quad \omega}\left\lceil \frac{\ln \left( \frac{ \in_{0}}{\overset{\_}{\in}} \right)}{r\quad \pi} \right\rceil} = {\frac{\pi}{q\quad \omega}{\left\lceil \frac{\sigma + {\ln { \in_{0}}}}{r\quad \pi} \right\rceil.}}}} & (3.14) \end{matrix}$

[0052] The excursions in this case are |A−x₀|λ^(rk). Note that {overscore (t)}=0 if |ε₀|≦{overscore (ε)}; (3.14) still applies.

[0053] For x₀=0 and y₀16 0, (3.2)-(3.3) reduce to

[x,y]=A[{1−e ^(−rφ)(cos φ+(r−dη)sin φ), dωe ^(−rφ)(b cos φ+a sin φ)]  (3.15)

[0054] where $\begin{matrix} {\left\lbrack {\eta,a,b,c,{\cos \quad \beta},{\sin \quad \beta}} \right\rbrack:={\left\lbrack {\frac{y_{0}}{\omega \quad A},{1 - {p\quad \eta}},{q\quad \eta},\sqrt{a^{2} + b^{2}},{- \frac{a}{c}},\frac{b}{c}} \right\rbrack.}} & (3.16) \end{matrix}$

[0055] Note that b≠0 and

1−2pη+η ²=1−2pη+p ²η² +q ²η² =a ² +b ² =c ² .   (3.17)

[0056] Thus, the excursions occur at the positive solutions of

a sin φ+b cos φ=0

b cos φ=−a sin φ.   (3.18)

[0057] For {overscore (x)}₁>A (the first overshoot), however, it requires that $\begin{matrix} {\left. {{{\cos \quad {\overset{\_}{\varphi}}_{1}} + {\left( {r - \frac{\eta}{q}} \right)\sin \quad {\overset{\_}{\varphi}}_{1}}} < 0}\Rightarrow{{- \frac{1 - {2p\quad \eta} + \eta^{2}}{\eta}}\sin \quad {\overset{\_}{\varphi}}_{1}} \right. = \left. {{{- \frac{c^{2}b}{q}}\sin \quad {\overset{\_}{\varphi}}_{1}} < 0}\Rightarrow{{b\quad \sin \quad {\overset{\_}{\varphi}}_{1}} > 0.} \right.} & (3.19) \end{matrix}$

[0058] It follows that $\begin{matrix} \left\{ \begin{matrix} {{{\cos \quad {\overset{\_}{\varphi}}_{1}} = {- \frac{a}{c}}},} \\ {{\sin \quad {\overset{\_}{\varphi}}_{1}} = {+ {\frac{b}{c}.}}} \end{matrix} \right. & (3.20) \end{matrix}$

[0059] Solving for (3.20) requires some care due to the number of sign combinations of (a,b) possible.

[0060] The minimum solutions {circumflex over (v)}>0 and v^ >0, respectively, of the systems of trigonometric equations $\left\lbrack {{\cos \quad \theta},{\sin \quad \theta}} \right\rbrack = {{\left\lbrack {{- \frac{\quad}{\sqrt{^{2}{+ n^{2}}}}},{+ \frac{n}{\sqrt{^{2}{+ n^{2}}}}}} \right\rbrack \quad {{and}\quad\left\lbrack {{\cos \quad \theta},\quad {\sin \quad \theta}} \right\rbrack}} = {\quad{\left\lbrack {{+ \frac{}{\sqrt{^{2}{+ n^{2}}}}},{- \frac{n}{\sqrt{d^{2} + n^{2}}}}} \right\rbrack,}}}$

[0061] are given by $\begin{matrix} {\hat{v}:=\left\{ {{\begin{matrix} {v,} & {{{{if}\quad \left( {d,n} \right)} = \left( {- {, +}} \right)},} \\ {{\pi - v},} & {{{{if}\quad \left( {d,n} \right)} = \left( {+ {, +}} \right)},} \\ {{\pi - v},} & {{{{if}\quad \left( {d,n} \right)} = \left( {+ {, -}} \right)},} \\ {{{2\pi} + v},} & {{{if}\quad \left( {d,n} \right)} = {\left( {- {, -}} \right).}} \end{matrix}\quad {and}}:=\left\{ {\begin{matrix} {{\pi + v},} & {{{{if}\quad \left( {d,n} \right)} = \left( {- {, +}} \right)},} \\ {{{2\pi} - v},} & {{{{if}\quad \left( {d,n} \right)} = \left( {+ {, +}} \right)},} \\ {{- v},} & {{{{if}\quad \left( {d,n} \right)} = \left( {+ {, -}} \right)},} \\ {{{2\pi} + v},} & {{{if}\quad \left( {d,n} \right)} = {\left( {- {, -}} \right).}} \end{matrix}.} \right.} \right.} & (3.21) \end{matrix}$

[0062] where $\begin{matrix} {v:={\sin^{- 1}{\frac{n}{\sqrt{n^{2} + d^{2}}}.}}} & (3.22) \end{matrix}$

[0063] By Lemma 3.1 and with similar reasoning for undershoot, $\begin{matrix} {{{\cos \quad {\overset{\_}{\varphi}}_{k}} = {\left( {- 1} \right)^{k - 1}\left( {- \frac{a}{c}} \right)}},{{\sin \quad {\overset{\_}{\varphi}}_{k}} = {\left. {\left( {- 1} \right)^{k - 1}\frac{b}{c}}\Rightarrow{\overset{\_}{\varphi}}_{k} \right. = {\hat{\beta} + {\left( {k - 1} \right)\pi}}}},{k = 1},2,3,{\ldots \quad.}} & (3.23) \end{matrix}$

[0064] Note that as y₀→0, a→1 and b→0, so β→0 while β→π. Thus,

{overscore (x)} _(k) A[1+(−1)^(k−1) ce ^(31 r{circumflex over (β)})λ^(rk−r)], k=1,2,3,   (3.24)

[0065] with excursion magnitudes Ace^(−r{circumflex over (β)})λ^(rk−r), which lead to $\begin{matrix} {\overset{\_}{t} = {\frac{1}{q\quad \omega}\left\{ {\left. \left( {\hat{\beta} + {\pi \cdot \left\lceil \frac{{\ln \left( {{1/}\overset{\_}{\in}} \right)} + {\ln \quad c} - {r\hat{\beta}}}{r\quad \pi} \right\rceil}} \right. \right\} = {\frac{1}{q\quad \omega}{\left\{ {\hat{\beta} + {\pi \cdot \left\lceil \frac{\sigma + {\ln \quad c} - {r\quad \hat{\beta}}}{r\quad \pi} \right\rceil}} \right\}.}}} \right.}} & (3.25) \end{matrix}$

[0066] Note that a and b cannot be both negative. Another important phase angle β also has emerged. Inevitably, however, the multiple sign combinations of (a,b) render analysis and computation for the x turning points complicated.

[0067] As an example, the case {circumflex over (β)}=π−β can be obtained as follows. For a>0 and b<0, η<0. So x(t) actually decreases before it turns toward A; that is, the first x-turning point, which occurs at φ=β, has |A−x|>A and is not pertinent to settling time consideration. The next ‘chance’ of x-turning takes place t later.

[0068] For x₀≠0 and y₀≠0, (3.2)- (3.3) become

[x,y]=A[1−e ^(−rφ)(ε₀ cos φ+(rε ₀ −dη)sin φ), dωe ^(−rφ)(b cos φ+′a sin φ)]  (3.26)

[0069] where a and c are adapted to $\begin{matrix} {\left\lbrack {a^{\prime},c^{\prime},{\cos \quad \beta^{\prime}},{\sin \quad \beta^{\prime}}} \right\rbrack:={\left\lbrack {{a - \frac{x_{0}}{A}},\sqrt{a^{\prime 2} + b^{2}},{- \frac{a^{\prime}}{c^{\prime}}},\frac{b}{c^{\prime}}} \right\rbrack.}} & (3.27) \end{matrix}$

[0070] The x-turning point occurs at {overscore (φ)}_(k)={circumflex over (β)}′+(k−1)π and

{overscore (x)} _(k) =A[1+(−1)^(k−1) c′e ^(−r({circumflex over (β)}′+(k−1)π))], k=1,2,3, . . . ,   (3.28)

[0071] with excursion magnitudes Ac′e^(−r{circumflex over (β)}′)λ^(rk−r), and it follows that $\begin{matrix} {\overset{\_}{t} = {{\frac{\pi}{q\quad \omega}\left( {{\hat{\beta}}^{\prime} + \left\lceil \frac{{\ln \left( {{1/}\overset{\_}{\in}} \right)} + {\ln \quad c^{\prime}} - {r{\hat{\beta}}^{\prime}}}{r\quad \pi} \right\rceil} \right)} = {{\tau \left( {{\hat{\beta}}^{\prime} + \left\lceil \frac{\sigma + {\ln \quad c^{\prime}} - {r\quad {\hat{\beta}}^{\prime}}}{r\quad \pi} \right\rceil} \right)}.}}} & (3.29) \end{matrix}$

[0072] Note that the additional complexity with ε₀≠1 has allowed (a′,b) be (−,−).

[0073] Theorem 3.1. Consider the settling time of (3.1). Then: {overscore (t)}≧σ>π/ω as for any [x₀,y₀] and

[0074] (a) if x₀=0 and y₀=0, the excursions are λ^(rk)|A| and {overscore (t)} is given by (3.11).

[0075] (b) if x₀≠0 but y₀=0, the excursions are λ^(rk)|A−x₀| and {overscore (t)} is given by (3.15).

[0076] (c) if x₀=0 but y₀≠0, the excursions are λ^(rk−r)|A|ce^(−r{circumflex over (β)}) and {overscore (t)} is given by (3.25).

[0077] (d) if x₀≠0 and y₀≠0, λ^(rk−r)|A|c′e^(−r{circumflex over (β)}′) and {overscore (t)} is given by (3.29).

[0078] As an example, say p={square root}{square root over (3)}/2 (slightly underdamped), hence q=½, t_(s) will be at least the full natural period. Long settling time is inevitable if (3.1) is not ‘attended,’ that is, if some certain admissible measure, such as switching, is not applied. Above, {overscore (ε)}=e⁻³≈5% (hence, σ=3 and I=4.322), p=0.1 (hence, q=0.9950 and r=0.1005) and ω=1 whenever numerical comparison is called for. Thus, t_(s)=31.5742, and it would take up to 30 ups-and-downs to settle in.

[0079] Therefore, there is a need in the art for methods and apparatuses for reducing settling time in servos, without using costly and space consuming sensors.

SUMMARY

[0080] In one embodiment, a method for controlling a servo includes calculating at least a first switching time to change an amplitude of a command signal to a servo, providing a first amplitude to the servo for the first switching time, and switching the amplitude of the command signal to the servo from the first amplitude to a second amplitude at the first switching time.

[0081] In another embodiment, a servo system includes a servo, a processor operatively connected to control the servo, and a timer programmed to switch an input command signal amplitude at predetermined switching times.

[0082] In yet another embodiment, a command program for switching a servo without sensors includes machine readable instructions for effecting a method which includes calculating at least a first switching time to switch a command amplitude from a first level to a second level, and switching the amplitude of the command signal to the servo at the switching time.

[0083] In still another embodiment, a method of switching a servo includes applying predetermined input values to the servo at predetermined times, and settling the servo using only the input values and switching times.

[0084] Other embodiments are described and claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

[0085]FIG. 1 is a block diagram of an embodiment of a servo system;

[0086]FIG. 1A is a flow chart diagram of a process according to one embodiment of the present invention;

[0087]FIG. 2 is a block diagram of another embodiment of a servo system;

[0088]FIG. 2A is a flow chart diagram of a process according to another embodiment of the present invention;

[0089]FIG. 2B is a graph of phase lapses and r and p curves according to an embodiment of the present invention;

[0090]FIG. 3 is a block diagram of still another embodiment of a servo system;

[0091]FIG. 3A is a flow chart diagram of a process according to still another embodiment of the present invention;

[0092]FIG. 3B is a graph of sample switching times as a function of μ* according to an embodiment of the present invention;

[0093]FIG. 4 is a graph of a plot of a solution for a switching equation according to one embodiment of the present invention;

[0094]FIGS. 5 and 6 are graphs of plots of parametric curves according to various embodiments of the present invention;

[0095]FIG. 7 is a plot of various switching time solution curves for various embodiments of the present invention;

[0096]FIG. 8 is a graph of parametric switching time solution curves for various embodiment of the present invention;

[0097]FIG. 9 is a graph of performance comparisons for various embodiments of the present invention;

[0098]FIG. 10 is a graph of position comparisons for servos according to various embodiments of the present invention;

[0099]FIG. 11 is a graph of position trajectory curves for an input parity switched process with a range of initial nonzero velocities;

[0100]FIG. 12 is a graph of position and velocity trajectory plots for various embodiments of the present invention for an overdamped servo;

[0101]FIG. 13 is a graph of position and velocity trajectory plots for various embodiments of the present invention for a critically damped servo;

[0102]FIG. 14 is a graph of position trajectory plots for an unstable servo for various embodiments of the present invention;

[0103]FIG. 15 is a graph of position trajectory plots various embodiments of the present invention;

[0104]FIG. 16 is a graph of a trajectory plot for a servo using quantized servo commands and a maximum amplitude switching process; and

[0105]FIG. 17 is a graph of position trajectories for unswitched servos (line 1702), and for switched servos using various embodiments of the present invention with timing errors.

DETAILED DESCRIPTION

[0106] In the following detailed description of the embodiments, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural or logical changes may be made without departing from the scope of the present invention.

General Considerations

[0107] The various embodiments of the present invention described in greater detail below illustrate servomechanisms without the need of any sensors, to achieve some desired qualities, such as rapid settling and negligible overshoot. At certain right prescribed timing, certain right input values are applied for servo control. The input values and the switching schedule are obtained via mathematical analysis. At the first opportunity of a finite time, servos employing the various embodiments reach a commanded input value at zero velocity. Being the first opportunity gives the desired quality of rapid settling. Reaching the commanded input value at zero velocity yields null overshoot.

[0108] For all open-loop control systems whose state solutions can be given explicitly as functions of time, the need of sensors for certain control objectives is eliminated or alleviated by use of timers such as in the embodiments described in further detail below. The collection of solvable systems includes, but is not limited to, all finite dimensional time-invariant linear systems and a class of autonomous nonlinear systems. Because everything within the ‘system’ is known to the time t, any sensor-based control action u=u(x(t),t) can instead be given in terms of a time-based function u=v(t). As an example, consider a linear time invariant (LTI) system. Finding the VSS-switching surfaces yields, in the present embodiments, precisely when a switching surface is reached, and the issue of position serves as an algebraic equation in unknown t>0.

[0109] In general terms, the embodiments of the present invention describe switching processes which reduce the settling time t* of a servo, given {overscore (E)} or {overscore (ε)}; t* meets the condition t*<t_(s). The command level input amplitude in the embodiments is generally referred to as A. It should be understood that A is simply an abbreviation, and that A is not identical for each embodiment. In fact, A can and does vary widely depending upon any number of factors.

[0110] The various embodiments of the present invention operate without the use of sensors. In order to operate without sensors, the switching processes take no measure of position x or velocity x′ during operation. That is, the switching processes are open-loop switching processes. The various embodiments determine the various switching times t₁, t₂, and so on in terms of variables p, ω, and y₀, where p is the damping ratio, and ω is the frequency. The most simple case considered in this application is with [x₀,y₀]=[0,0], i.e.,

x″+2pωx′+ω ² x=ω ² A, [x,x′]=[0,0].   (4.1)

[0111] Other more complicated conditions such as non-zero initial velocity, unstable systems, and the like are considered in various alternative embodiments. From this point on, the overbar {overscore (·)} will be dropped from the notation of the ‘settled’ phase/time unless otherwise stated.

Necessity of Switching

[0112] From equations (3.2)-(3.3): $\begin{matrix} \begin{matrix} {\left\lbrack {x,y} \right\rbrack = \quad \left\lbrack {{A - {\left( {A - x_{0}} \right){^{{- r}\quad \varphi}\left( {{\cos \quad \varphi} + {r\quad \sin \quad \varphi}} \right)}}},{\frac{\omega}{q}\left( {A - x_{0}} \right)^{{- r}\quad \varphi}\sin \quad \varphi}} \right\rbrack} \\ {\quad {{{{if}\quad y_{0}} = 0},}} \\ {{\left\lbrack {x,y} \right\rbrack = \quad \left\lbrack {{A + {\frac{y_{0}}{q\quad \omega}^{{- r}\quad \varphi}\sin \quad \varphi}},{y_{0}{^{{- r}\quad \varphi}\left( {{\cos \quad \varphi} - {r\quad \sin \quad \varphi}} \right)}}} \right\rbrack},} \\ {\quad {{{{if}\quad x_{0}} = A},}} \\ {\left\lbrack {x,y} \right\rbrack = \quad {{\left\lbrack {A,0} \right\rbrack \quad {{if}\quad\left\lbrack {x_{0},y_{0}} \right\rbrack}} = {\left\lbrack {A,0} \right\rbrack.}}} \end{matrix} & (4.2) \end{matrix}$

[0113] The first two cases exhibit overshoots and undershoots before settling at A. The last case is the ‘ideal’ for a servomechanism. There are no remnant ripples, reducing potential mechanical fatigues and inhibiting any ‘gallops’ due to unmodeled resonant modes.

[0114] While unlikely, it does suggest that if the condition [x₀,y₀]=[A,0] is fulfilled ‘at some point’ (other than t=0), (3.1) is truly settled from that point on. An issue is whether [x(t),y(t)]=[A,0] will automatically happen to (3.1) on its own at some t>0. The answer is no.

[0115] Theorem 4.1. (Necessity of Switching) If [x₀,y₀]≠[A,0], then [x(t),y(t)]≠[A,0] for any t>0, i.e., (3.1) can never arrive at [A,0] autonomously.

[0116] Proof. To solve for t such that [x(t),y(t)]=[A,0] is tantamount to solving φ>0 such that the coefficients of the term e^(−rφ) in (3.2)-(3.3) equal zero simultaneously. This is equivalent to a system of 2×2 homogeneous linear equations in two unknowns, cos φ and sin φ who coefficient matrix has a nonzero determinant −q[ω²(x₀−A)²+2pω(x₀−A)y₀+y₀ ²]. It follows that [cos φ,sin φ]=[0,0], which is impossible.

[0117] Remark 4.1. Mathematically, the option that, for instance, of applying −A first and switches back to +A at t₁ cannot be ruled out just so naively. Indeed, suppose there is a t₂ (after switching back to +A) such that x(t₃)=A and y(t₃)=0, then x(t)=A for all t>t₃. Logically, +A may also be applied directly, attempting to find t₁ with [x₁,y₁]=[A,0], and void the switching altogether.

Shrunk-Fit Switching

[0118]FIG. 1 is a block diagram of an embodiment 100 of a server system employing shrunk fit switching as described in greater detail above. Servo system 100 comprises a switching element 102 and a servo 104. Switching element 102 accepts an input amplitude A, and outputs an amplitude to the servo 104 to which it is connected. Switching element 102 includes a timer 106 and a multiplier 108. Multiplier 108 is in one embodiment pre-programmed with a constant multiplier k to which the input amplitude is applied. The modified input amplitude kA is presented to the servo 104 for a first time period t₁ from time 0 to time t₁. After time t₁, the amplitude A is presented to the servo 104. FIG. 10 shows an expected settling time for a servo system of this embodiment compared with other servo settling embodiments described herein. From FIG. 10, it is seen that improvement over unswitched servo systems is dramatic.

[0119] The switching time t₁ and the constant multiplier k are determined below using the equations outlined above. This embodiment of non-sensor switching comprises switching commands once during an operation. One switching process that involves exactly one intermediate command: Apply to (4.1) with A₁=kA from time t=0 to time t₁ and switch back to A from then on.

[0120] For (4.1) applied with the shrunk-fit switching process, not only the settling time is reduced by a factor of $\left\lceil \frac{\sigma}{r\quad \pi} \right\rceil,$

[0121] but the excursion is completely annihilated.

[0122] The derivation is almost immediate: From (3.9), setting y₁=0 and x₁=A results in $\begin{matrix} {\left\lbrack {\varphi_{1},A_{1}} \right\rbrack = {\left\lbrack {\pi,\frac{A}{1 + ^{{- r}\quad \pi}}} \right\rbrack.}} & (4.3) \end{matrix}$

[0123] The fact that the denominator of the A₁ equation is greater than 1 means that the amplitude of the intermediate command ‘shrinks’ from A to A₁<A giving the name ‘shrunk-fit.’ This process has the advantage of being simple, but the resulting settling time is still τ. If the servomechanism is subject to frequent change of constant input commands, or its nominal mode of continuous operation expects so, and in particular, if the new command arrives before the (reduced) settling time finishes its lapse, the performance of this switching process may remain inadequate. Further reduction of settling time (while retaining zero excursion) motivates other switching processes with increased complexity.

[0124] The shrunk-fit switching process applies to simple harmonic motion, i.e., (4.1) with p=0. Note that in this case, A₁=A/2. Note that the settling time resulting from this and other switching processes to be described further below is independent of the size of the error window and independent of the servo command A. This part of reduction is, however, only minor (if not minimal) compared to the overall reduction. The present discussion does not elaborate on reduction of {overscore (t)} contributed from the error window for this and other switching processes.

[0125] Indeed, the exact settling time resulting from the shrunk-fit switching process is given by the solution {overscore (φ)} of the equation

e ^(−r{overscore (φ)})(cos {overscore (φ)}+r sin {overscore (φ)})=ε(1+e ^(−rπ))−e ^(−rπ)  (4.4)

[0126] derived by retrofitting: A₁[1−e^(−rφ)(cos φ+r sin φ)=(1−ε)A. {overscore (φ)} is a function of ε for which no closed-form is accessible. Observe through {overscore (φ)}→π as ε→0.

[0127] An embodiment of a shrunk fit switching process 15l is shown in FIG. 1A. Process 150 comprises in this embodiment calculating a first switching time in block 152, calculating a multiplier constant in block 154, applying a command input amplitude multiplied by the multiplier constant for a time period from 0 to the switching time in block 156, and applying the command input amplitude after the switching time in block 158. It should be understood that the multiplier constant can be computed for the servo and hard programmed so that it does not need calculation every time. Alternatively, in another embodiment, a series of multipliers are stored in a lookup table determined by the servo.

Input-Parity Switching

[0128]FIG. 2 is a block diagram of an embodiment 200 of a servo system employing input parity switching as described in greater detail above. Servo system 200 comprises a switching element 202 and a servo 204. Switching element 202 accepts an input amplitude A, and outputs an amplitude to the servo 204. Switching element 202 includes a timer 206 and an inverter 208. The switching process of switching element 202 has the timer 206 pre-programmed to provide the amplitude A to the servo 204 for a first time t₁ from time 0 to time t₁, to provide an inverted amplitude −A to the servo 204 for a period t₂ from first time t₁ to second time t₃, where t₁+t₂=t₃, and to provide amplitude A to servo 204 from time t₃ forward. FIG. 10 shows an expected settling time for a servo system of this embodiment compared with other servo settling embodiments described herein. From FIG. 10, it is seen that improvement over unswitched servo systems is dramatic.

[0129] An embodiment of an input parity switching process 250 is shown in FIG. 2A. Process 250 comprises calculating first and second times to switch the amplitude of a command in block 252, and timing the switching to those times in block 254. In one embodiment, switching means application of equation (3.1) with an amplitude of +A from a time t=0 to a determined first switching time t₁, with an amplitude of −A from time t₁ to a time t₃=t₁+t₂, and an amplitude of A from t₃ forward. This switching process 250 switches at a first time t₁ from an amplitude of +A to an amplitude of −A and switches back to an amplitude of +A after a lapse of a second time t₂. For brevity of notation, hitherto denote by t₃:=t₁+t₂ and φ₃:=φ₁+φ₂.

[0130] Since (4.1) is applied with +A, at t₁, $\begin{matrix} {\left\lbrack {x_{1},y_{1}} \right\rbrack = {{A\left\lbrack {\left( {1 - {^{{- r}\quad \varphi_{1}}\left( {{\cos \quad \varphi_{1}} + {r\quad \sin \quad \varphi_{1}}} \right)}} \right),{d\quad {\omega }^{{- r}\quad \varphi_{1}}\sin \quad \varphi_{1}}} \right\rbrack}.}} & (4.5) \end{matrix}$

[0131] Now, [x₁,y₁] is the initial condition of (3.1) applied with −A. Replacing A with −A in (3.2) and (3.7) gives $\begin{matrix} {\left\lbrack {x_{3},y_{3}} \right\rbrack = {\left\lbrack {{{- A} + {^{{- r}\quad \varphi_{2}}\left\{ {{\left( {x_{1} + A} \right)\cos \quad \varphi_{2}} + {\left\lbrack {\frac{y_{1}}{q\quad \omega} + {r\left( {x_{1} + A} \right)}} \right\rbrack \sin \quad \varphi_{2}}} \right\}}},{^{{- r}\quad \varphi_{2}}\left\{ {{y_{1}\cos \quad \varphi_{2}} - {\left\lbrack {{ry}_{1} + {d\quad {\omega \left( {x_{1} + A} \right)}}} \right\rbrack \sin \quad \varphi_{2}}} \right\}}} \right\rbrack = {\left\lbrack {A,0} \right\rbrack.}}} & (4.6) \end{matrix}$

[0132] Solving the second equation and substituting to simplify the first,

e ^(−rφ) ^(₁) [cos φ₃, sin φ₃]=2[cos φ₂ −e ^(rφ) ^(₂) , sin φ₂],   (4.7)

[0133] which are equivalent to

e ^(−rφ) ^(₃) [cos φ₃, sin φ₃]=2[−(1−e ^(−rφ) ^(₂) cos φ₂), e ^(−rφ) ^(₂) sin φ₂]  (4.8)

[0134] and further to $\begin{matrix} {{\left\lbrack {^{{- 2}r\quad \varphi_{3}},{\tan \quad \varphi_{3}}} \right\rbrack = \left\lbrack 4\left( {1 - {2^{{- r}\quad \varphi_{2}}\cos \quad \varphi_{2}} + ^{{- 2}\quad r\quad \varphi_{2}}} \right) \right.},\left. {- \frac{^{{- r}\quad \varphi_{2}}\sin \quad \varphi_{2}}{1 - {^{{- r}\quad \varphi_{2}}\cos \quad \varphi_{2}}}} \right\rbrack} & (4.9) \end{matrix}$

[0135] after some algebraic manipulation (by taking square sum and ratio).

[0136] By (4.8), cos φ₃<0 and sin φ₃>0, π/2>φ₃>π. Equation (4.9) now imposes a system of two nonlinear algebraic equations in two unknowns, φ₂ and φ₃. It is straightforward to reduce (4.9) to an equation in φ₂ only: $\begin{matrix} {{^{{- 2}r\quad \mu} - {4w^{2}}} = {\left. \Leftrightarrow{\mu + {\frac{1}{r}\ln \quad 2w}} \right. = 0}} & (4.10) \end{matrix}$

[0137] where $\begin{matrix} {\left\lbrack {u,v,w,\mu} \right\rbrack:={\quad{\left\lbrack {{1 - {^{{- r}\quad \varphi_{2}}\cos \quad \varphi_{2}}},{^{{- r}\quad \varphi_{2}}\sin \quad \varphi_{2}},\sqrt{u^{2} + v^{2}},{\cos^{- 1}\left( {- \frac{u}{w}} \right)}} \right\rbrack.}}} & (4.11) \end{matrix}$

[0138] Having solved φ_(2,) the solutions for φ₃ and φ₁ follow. Lemma 4.1 below establishes the asymptotic behaviors of [φ₁,φ₂,φ₃] versus r.

[0139] Lemma 4.1. The following properties hold for the solution [φ₁,φ₂] of (4.9):

[0140] (a) rφ₂<ln ${(a)\quad r\quad \varphi_{2}} < {\ln {\left. \frac{3}{2} \right.\sim\left. 0.405465 \right.\sim 0.129}\pi \quad {and}\quad r\quad \varphi_{1}} > {\ln \quad 2{\left( {^{r\quad \varphi_{2}} - 1} \right).}}$

[0141] ˜0.405465˜0.129π and rφ₁>ln2(e^(rφ) ^(₂) −1).

[0142] (b) 0<φ₂<π/2 and π/2 ≦φ₃<π.

[0143] (c) φ₂→0, φ₁→π rφ₂→0 as r→∞.

[0144] Proof. For (a), considering (4.9a) as a quadratic inequality in variable e^(−rφ) ^(₂) :

e ^(−2rφ) ^(₂) >e ^(−2rφ) ^(₃) =4(1−2e ^(−rφ) ^(₂) cos φ₂ +e ^(−2rφ) ^(₂) )>4(1−2e ^(−rφ) ^(₂) +e ^(−2rφ) ^(₂) ).   (4.12)

[0145] The inequalities require that e^(−rφ) ^(₂) lies between the two roots of the quadratic equation, viz. $\begin{matrix} {\frac{2}{3} < \frac{2}{2 + ^{{- r}\quad \varphi_{1}}} < ^{{- r}\quad \varphi_{2}} < 1 < \frac{2}{2 - ^{{- r}\quad \varphi_{1}}} < 2.} & (4.13) \end{matrix}$

[0146] The first two inequalities are equivalent to rφ₂<ln(1+ ${{r\quad \varphi_{2}} < {\ln \left( {1 + {\frac{1}{2}^{{- r}\quad \varphi_{1}}}} \right)} < {\ln \frac{3}{2}}};$

[0147] e^(−rφ) ^(₁) )<ln delete this  item.

[0148] the last three hold trivially. For (b), consider

cos φ₃=−2e ^(rφ) ^(₁) (e ^(rφ) ^(₂) −cos φ₂)

[0149] and note that e^(rφ) ^(₂) −cos φ₂>e^(rφ) ^(₂) >1 if φ₂>π/2, implying that | cos φ₃|>2. By (4.9b), φ₃ must be in the second quadrant. For (c), sin φ₂→0⁺ and cos φ₂−e^(r φ) ^(₂) →0⁻, φ₃→{overscore (π)} by (4.9) and (b), so φ₁→{overscore (π)}. Observe also that 0⁺←e^(−rφ) ^(₁) >e^(−rφ) ^(₃) →4(1−e^(−rφ) ^(₂) )²>0, giving rφ₂→0.

[0150] The equation for φ₂ is given by (4.11), more specifically, using cos⁻¹ but not any of its mathematical equivalences. Indeed, φ₂˜0 results with attempts to solve φ₂ by equating tan φ₃ instead. Note that a singularity would have emerged should φ₂ be solved using tan⁻¹, which would have been the most intuitive way. In fact, this is why cos⁻¹, instead of tan⁻¹, is introduced in (4.11). Note also that $\varphi_{2} < {{\min \left( {{\frac{1}{2}\pi},{\frac{1}{r}\ln \frac{3}{2}}} \right)}{\left( {= {{\frac{1}{2}\pi \quad {if}\quad p} < 0.25}} \right).}}$

[0151] by Lemma 4.1 (a)-(b).

[0152] The curves of φ₁,φ₂,φ₃ vs. r are shown in FIG. 2B.

[0153] The φ₁ and φ₃ curves have not extended to their asymptotic value π as it becomes numerically more and more difficult. Indeed, r=2 corresponds to p=2/{square root}{square root over (5)}˜0.8944 and r would increase more abruptly as p gets closer to 1 as $\frac{r}{p} = {\left( {1 - p^{2}} \right)^{{- 3}/2}.}$

[0154] An artificial remedy is to set φ₂ to 0 for r>1.5. The [φ₁,φ₂,φ₃]−p subplot is given also to highlight this numerical difficulty.

[0155] The solution of (4.9) is a function of r which expectedly cannot be given as a closed form formula in terms of p and w. Nonetheless, by curve-fitting the solutions, the goal to achieve [x(t₃),y(t₃)]=[A,0] can be achieved. $\begin{matrix} \begin{matrix} {\left\lbrack {\varphi_{1},\varphi_{2},\varphi_{3}} \right\rbrack = \quad \left\lbrack {{1.3181 + {1.8235\left( {1 - ^{{- 0.785}r}} \right)}},} \right.} \\ {\quad \left. {{0.5054^{{- 1.525}r}},{1.8235 + {1.3181\left( {1 - ^{{- 0.44}r}} \right)}}} \right\rbrack} \\ {= \quad {\frac{\pi}{50}\left\lbrack {{21 + {29\left( {1 - ^{{- 0.25}\quad r\quad \pi}} \right)}},{8^{{- 0.4854}r\quad \pi}},} \right.}} \\ {{\quad \left. {29 + {21\left( {1 - ^{{- 0.14}\quad r\quad \pi}} \right)}} \right\rbrack}.} \end{matrix} & (4.14) \end{matrix}$

[0156] The equation (4.14) terms are obtained by curve-fitting with respect to r <<1 (highly underdamped). To consider in addition the cases with r˜1 (moderately underdamped) and r>10 (slightly underdamped), (4.14) can be given in form of piecewise-defined functions for best quality of fit. Note that curve-fitting, if done properly, reduces the time/cost to recalculate new timings given a new p. For example, if the command input to the servo changes, the p and w values are placed in the equation (4.14) to generate new switching times.

[0157] Theorem 4.2. Consider (4.1). Then: For any 0≦p≦1, there exists a unique pair of switching times t₁,t₂22 0 such that x(t)=A for all t>t₃=t₁+t₂ which is minimum time. Moreover, [t₁,t₂] can be given by the solution of the system (4.9), which can be solved from (4.11), whereas (4.14) provides approximations, as functions for r for t₁,t₂,t₃, respectively.

[0158] Setting r=0, viz. p=0, results in

[cos φ₃, sin φ₃]=[2(cos φ₂−1), 2 sin φ₂].   (4.15)

[0159] Since |sin θ|≦1 and |cos θ≦1, 0 <φ₂≦π/6 and φ₁+φ₂≧ $\frac{\pi}{2}$

[0160] follow, which further imply that ${{\cos \quad \varphi_{3}} \geq {2\left( {\frac{\sqrt{3}}{2} - 1} \right)}} = {\sqrt{3} - 2.}$

[0161] Hence, φ₁+φ₂≦cos⁻¹({square root}{square root over (3)}−2)=1.84206˜ ${{\varphi_{1} + \varphi_{2}} \leq {\cos^{- 1}\left( {\sqrt{3} - 2} \right)}} = {{\left. 1.84206 \right.\sim\frac{7}{12}}\pi}$

[0162] πfollows. The numbers given in (4.14) were obtained numerically, however. Those for φ₁ were taken by subtraction φ₃−φ₂. Note: ${{\left. 0.505353 \right.\sim\frac{4}{25}}\pi} < {\frac{1}{6}\pi \quad {and}\quad {\left. 1.8234826 \right.\sim\frac{29}{50}}\pi} < {\frac{7}{12}\pi}$

[0163] Note also that [φ₁, φ₂] exists for all r>0 and that there is no finite singularity in (4.10)-(4.11).

[0164] Elementary manipulations also yield

[cos φ₁,sin φ₁]=[2e ^(−rφ) ^(₂) −cos φ₂), 2e ^(rφ) ^(₃) sin φ₂],   (4.16) (4.10) and

[0165] $\begin{matrix} {{\tan \quad \varphi_{1}} = {\frac{\sin \quad \varphi_{2}}{^{{- r}\quad \varphi_{2}} - {\cos \quad \varphi_{2}}} = {\frac{v}{w^{2} - u}.}}} & (4.17) \end{matrix}$

[0166] The similarities in appearances between these and equations (4.8)-(4.10) include that they behave quasi-linearly or preserve some sort of symmetry. In fact, an equivalence of (4.10) reducing φ₂ instead of φ₃ is shown later.

Maximum-Amplitude Switching

[0167]FIG. 3 is a block diagram of an embodiment 300 of a servo system employing maximum amplitude switching as described in greater detail above. Servo system 300 comprises a switching element 302 and a servo 304. Switching element 302 accepts an input amplitude A, and outputs an amplitude to the servo 304. Switching element 302 includes a timer 306, and an inverter 308. The switching process of switching element 302 is pre-programmed with a maximum amplitude Amax for the particular servo 304 to which it is connected. The timer is coordinated to provide the output amplitude A_(max) to the servo 304 for a time period from 0 to time t₁. At time t₁, the timer switches the amplitude of the output to−Amax, and provides that amplitude −A_(max) to servo 304 for a time t₂. In this embodiment, another switching is effected at a time t₃=t₁+t₂. In this embodiment, the original command level amplitude A is passed to the servo 304 from time t₃ onward. FIG. 10 shows an expected settling time for a servo system of this embodiment compared with other servo settling embodiments described herein. From FIG. 10, it is seen that improvement over unswitched serve systems is quite noticeable.

[0168] An embodiment of maximum amplitude switching process 350 is shown in FIG. 3A. Process 350 comprises determining a maximum input amplitude for a servo in block 352, determining first and second switching times in block 354, applying the maximum amplitude to the servo from time 0 to the first switching time in block 356, applying the negative maximum amplitude to the servo from the first switching time for the second switching time in block 358, and applying the command input amplitude from the second switching time forward in block 360.

[0169] The third switching process uses some extra degree of freedom, the resulting settling time is shorter than that from the input-parity switching process 250 described above.

[0170] Specifically, applying (4.1) with [A₁,t₁] followed by [−A₂,t₂] (A₁ and A₂ are not ‘related’ with the commanded constant input A), (4.6) still applies, while (4.7) becomes $\begin{matrix} \begin{matrix} {\left\lbrack {x_{3},y_{3}} \right\rbrack = \quad \left\lbrack {{- A_{2}} + {^{{- r}\quad \varphi_{2}}\left\{ {{\left( {x_{1} + A_{2}} \right)\cos \quad \varphi_{2}} +} \right.}} \right.} \\ {{\quad \left. {\left\lbrack {\frac{y_{1}}{q\quad \omega} + {r\left( {x_{1} + A_{2}} \right)}} \right\rbrack \sin \quad \varphi_{2}} \right\}},} \\ {\quad {^{{- r}\quad \varphi_{2}}\left\{ {{y_{1}\cos \quad \varphi_{2}} - \left\lbrack {{ry}_{1} +} \right.} \right.}} \\ {\left. \left. {{\quad \left. {{\omega}\left( {x_{1} + A_{2}} \right)} \right\rbrack}\sin \quad \varphi_{2}} \right\} \right\rbrack = \left\lbrack {A,0} \right\rbrack} \end{matrix} & (4.18) \end{matrix}$

[0171] and further, reduces to

e ^(−rφ) ^(₃) [cos φ₃, sin φ₃]=[(1−μ)−(1+ρ)(1e ^(−rφ) ^(₂) cos φ₂), (1+ρ)e ^(−rφ) ^(₂) sin φ₂]  (4.19)

[0172] where $\begin{matrix} {\left\lbrack {\rho,\mu} \right\rbrack:={\left\lbrack {\frac{A_{2}}{A_{1}},\frac{A}{A_{1}}} \right\rbrack.}} & (4.20) \end{matrix}$

[0173] The rest of the work is similar to the solution process for the input parity switching case, except that the solution for [φ₁,φ₂,φ₃] will be a function of [A₁,A₂]. The resulting settling phase φ₃ is tabulated against A₁ and A₂ and the minimum is located; the minimizer [A₁*=A₂*] is $\begin{matrix} {A_{1}^{*} = {A_{2}^{*} = {\left. A_{\max}\Rightarrow\left\lbrack {\rho^{*},\mu^{*}} \right\rbrack \right. = \left\lbrack {1,\frac{A}{A_{\max}}} \right\rbrack}}} & (4.21) \end{matrix}$

[0174] from which the name maximum amplitude switching is derived, which reduces (4.19) to

e ^(−rφ) ^(₃) [cos φ₃, sin φ₃]=[(1−μ*)−2(1−e ^(−rφ) ^(₂) sin φ₂]  (4.22) (cf. (4.9)).

[0175]FIG. 3B plots [t₁,t₂,t₃] as a function of μ*. The characteristics of the switching times as functions of A/A_(max) as well as of p are quite linear.

[φ₁,φ₂,φ₃]=[(φ₁

−φ₁₀)μ*+φ₁₀,(φ₂

−φ₂₀)μ*+φ₂₀,(φ₃

−φ₃₀)μ*+φ₃₀]  (4.23)

[0176] where φ₁

,φ₂

are as given by the right-hand sides of (4.16). Note in particular, that there is a cross-over in t₃ at μ*˜0.8, suggesting that employing a smaller ratio μ*>0.8 works better for larger p, and vice versa.

[0177] In comparison to the input-parity switching process 250, the switching phases now do depend upon A, or, more precisely, on the ratio μ*. Consequently, whenever a new commanded input arrives, the switching times are re-computed. This can certainly be made costless by using curve-fitting. The extra effort does offer shorter settling time. In fact, the maximum amplitude switching reduces the settling time by as much as 50% for μ*={fraction (1/2)}; for smaller A the settling time gets even smaller. This reduction proves very helpful for the servomechanism applied with multiple command inputs, i.e., a servomechanism in continuous operation.

[0178] While no attempt would be given to prove any optimality of (4.2 1), which applies to any A, it is worthwhile to point out its bang-bang nature. Note that as a common practice (at least in some bang-bang control texts), the ‘bang’ is often normalized with respect to the commanded input A. (Note that this, as a matter of fact, corresponds to the input-parity switching process.) As such, some better results may have been overlooked when there are more than one commanded input considered. However, the better results, if any, will readily fall from the application of the relevant equations and are within the scope of the present invention.

Turning-Points Input-Parity Switching

[0179] An alternative embodiment of the on-the-dot switchings described above, namely shrunk fit, input parity, and maximum amplitude switching, in which all the switching times are numerically obtained, is a slightly less analytical, closed-form switching scheme as described below. Select the switching times t₁ and t₂ as the first y-turning and x-turning times (from t₁ onward).

[0180] When (4. 1) attains its maximum velocity at t₁, the ‘moment of inertia’ sustains and counters the new input −A for a certain period of time. The new input −A is injected so as to reduce the overshoot of (4.1). The velocity remains positive at this time. Switching the input parity to −A begins to reverse the ‘uphill’ trend to be ‘downhill,’ which needs to be reversed again at some time. A natural candidate for t₂ is when (4.1) attains its (next) extremum x. The results of this switching process are analyzed below.

[0181] From (3.3), $\begin{matrix} \begin{matrix} {y^{\prime} = \quad {w\quad ^{{- r}\quad \varphi}\left\{ {{{- \left\lbrack {{2{py}_{0}} + {w\left( {x_{0} - A} \right)}} \right\rbrack}\cos \quad \varphi} + \left\lbrack {{\left( {{pr} - q} \right)y_{0}} +} \right.} \right.}} \\ \left. {{\quad \left. {{rw}\left( {x_{0} - A} \right)} \right\rbrack}\sin \quad \varphi} \right\} \\ {{= \quad {\omega^{2}A\quad {^{{- r}\quad \varphi}\left( {{\cos \quad \varphi} - {r\quad \sin \quad \varphi}} \right)}}},} \end{matrix} & (4.24) \end{matrix}$

[0182] from which cos φ=r sin φ at y′=0, viz.

[φ₁ ,x ₁ ,y ₁ ]=[α,A(1−2pe ^(−rα)), Aωe ^(−rα)]  (4.25)

[0183] where [x₁,y₁] becomes the initial condition for the second leg, i.e., (4. 1) applied with −A. By replacing A with −A, from (3.27), $\begin{matrix} {\left\lbrack {\frac{x_{1}}{A},\eta,a^{\prime},{b \cdot c^{\prime}},\varphi_{2}} \right\rbrack = \left\lbrack {{{2p\quad ^{{- r}\quad \alpha}} - 1},{- ^{{- r}\quad \alpha}},{2 - {p\quad ^{{- r}\quad \alpha}}},{{- q}\quad {^{{- r}\quad \alpha} \cdot \sqrt{4 - {4p\quad ^{{- r}\quad \alpha}} + ^{{- 2}\quad r\quad \alpha}}}},{\cos^{- 1}\frac{a^{\prime}}{c^{\prime}}}} \right\rbrack} & (4.26) \end{matrix}$

[0184] In this situation, a′>0 and b<0. Moreover, the situation here is different from solving for the excursion: A search is made for the very first phase φ₂ or time opportunity such that y=0 for the next switching, back to +A. By (4.7), $\begin{matrix} {x_{3} = {{{^{{- r}\quad \varphi_{2}}\left\{ {{2{A\left( {1 - {p\quad ^{{- r}\quad \alpha}}} \right)}\frac{a^{\prime}}{c^{\prime}}} + {\left\lbrack {{{dA}\quad ^{{- r}\quad \alpha}} + {{r2A}\left( {1 - {p\quad ^{{- r}\quad \alpha}}} \right)}} \right\rbrack \frac{{qe}^{{- r}\quad \alpha}}{c^{\prime}}}} \right\}} - A} = {A\left( {{- 1} + {c^{\prime}^{{- r}\quad \varphi_{2}}}} \right)}}} & (4.27) \end{matrix}$

[0185] after algebraic manipulation. Thus, [x₃,0] is at hand to use Theorem 3.1. With ε₃=1−x₃/A=2−c′e^(−rφ) ^(₂) , $\begin{matrix} {\overset{\_}{t} = {\frac{1}{q\quad \omega}{\left( {\alpha + {\cos^{- 1}2} - \frac{p\quad ^{{- r}\quad \alpha}}{\sqrt{4 - {4p\quad ^{{- r}\quad \alpha}} + ^{{- 2}\quad r\quad \alpha}}} + {\pi \cdot \left\lceil \frac{\sigma + {\ln {{2 - {c^{\prime}^{{- r}\quad \varphi_{2}}}}}}}{r\quad \pi} \right\rceil}} \right).}}} & (4.28) \end{matrix}$

[0186] As a numerical example, with p=0.1 and σ=3, {overscore (t)}=1.471+0.422=1.892=0.6023π. Note that |ε₃|<{overscore (ε)} in this case.

[0187] Any process involving a servo is amenable to the processes described herein. Thus, any second order servo application, such as tank turret control servos, angle to angle servos, targeting servos, and the like are applicable to the methods described herein.

On-the-Dot Switching With Non-Zero Initial Velocity

[0188] The above described embodiments have been analyzed with respect to an initial velocity of zero. However, in many situations, nonzero velocity is encountered in a switching process. For example, if a command is given to rotate a servo from a first angular position to a second angular position, and an intervening command is given to or received by the servo to move the servo to a third angular position before the servo has settled at the second angular position, it would be desirable to abort the command to move to the second angular position, and instead move directly toward the third angular position. However, in this situation, the servo is moving toward the second angular position, and therefore has an initial velocity which is not zero.

[0189] As noted previously, if the new servo command arrives prior to completion of a servo command (applying one the described switching process embodiments, for instance), a ‘hangover,’ remnant velocity will be the initial velocity for the new commanded input. If this remnant velocity is small, it can be taken as a perturbation. While applying the previous derived scheduling will witness some ripples, the switching process will still settle fast, as will be shown by simulation in the next section. A significant initial velocity is ensued, however, if the new command arrives abruptly. The scheduling of the switching process is therefore modified in another embodiment described below. The modification is sketched as follows.

[0190] Consider

x″+2pωx′+ω ² x=ω ² A, x(0)=0, x′(0)=y₀≠0.   (5.1)

[0191] For the shrunk-fit switching process 150, the equations to be solved are

A ₁[1−e ^(−rφ)(cos φ+(r−dη)sin φ), dωe ^(−rφ)(b cos φ+a sin φ)]=[A,0].   (5.2)

[0192] The second equation is solved for φ₁, substituted to the first equation, and solved for A₁. The solution of b cos+a sin φ=0 is now subject to a different requirement. Indeed, ${\cos \quad \varphi} = \left. {{- \frac{a}{b}}\sin \quad \varphi}\Rightarrow{A_{1}\left\{ {{1 - {^{{- r}\quad \varphi}\left\lbrack {{\cos \quad \varphi} + {\left( {r - {d\quad \eta}} \right)\sin \quad \varphi}} \right\rbrack}} = {A_{1}\left\{ {1 + {c^{2}^{{- r}\quad \varphi}\frac{\sin \quad \varphi}{b}}} \right\}}} \right.} \right.$

[0193] which implies that necessarily, ${{\sin \quad \varphi} = \frac{b}{c}},{- \frac{b}{c}}$

[0194] if A₁<A, A₁>A, respectively. With the notation in (3.21), the following is obtained:

[0195] Theorem 5.1. (Shrunk-Fit Switching Process) For (5.1), the command schedule [φ₁A₁] can be given either by $\left\lbrack {\hat{\beta},\frac{A}{1 + {c\quad ^{{- r}\hat{\beta}}}}} \right\rbrack$

[0196] or by $\left\lbrack {\overset{˘}{\beta},\frac{A}{1 + {c\quad ^{{- r}\overset{˘}{\beta}}}}} \right\rbrack;$

[0197] the latter applies provided that A<A_(max) (1−ce^(−r{haeck over (β)})).

[0198] For the input-parity switching process, obtained in parallel to (4.5)-(4.6),

e ^(−rφ) ^(₁) [a cos φ₃ −b sin φ₃ ,a sin φ₃ +b cos φ₃]=[2(cos φ₂ −e ^(rφ) ^(₂) ), 2 sin φ₂],   (5.4)

[0199] from which

e ^(−rφ) ^(₃) [a cos φ₃ −b sin φ₃ ,a sin φ₃ +b cos φ₃]=[−2u,2v]  (5.5)

[0200] and then $\begin{matrix} {{^{{- 2}r\quad \varphi_{3}} = \quad {{4\frac{w^{2}}{c^{2}}} = {{41} - {2^{{- r}\quad \varphi_{2}}\cos \quad \varphi_{2}} + \frac{^{{- 2}\varphi_{2}}}{1 - {2p\quad \eta} + \eta_{2}}}}},} & (5.6) \\ {\frac{{a\quad \sin \quad \varphi_{3}} + {b\quad \cos \quad \varphi_{3}}}{{a\quad \cos \quad \varphi_{3}} - {b\quad \sin \quad \varphi_{3}}} = {{{- \frac{v}{u}}->{\tan \quad \varphi_{3}}} = {\left. {- \frac{{av} + {bu}}{{a\quad u} - {bv}}}\Rightarrow\varphi_{3} \right. = \hat{v}}}} & (5.7) \end{matrix}$

[0201] where the ({circumflex over (·)})-notation is again employed in (3.21) with $\begin{matrix} {v:={{\sin^{- 1}\left( \frac{{a\quad v} + {b\quad u}}{c\quad w} \right)}.}} & (5.8) \end{matrix}$

[0202] Note that v→β(see (3.21)) as r→∞.

[0203] Moreover, the problem has now been complicated by η via {tilde over (v)}: In comparison, μ the counterpart of v or {tilde over (v)}, rather, is definite because the sign of u is definite, while that of au−bv depends on η.

[0204] In parallel to (4.10), $\begin{matrix} {{^{{- 2}r\quad \hat{v}} - {4\frac{w^{2}}{c^{2}}}} = {\left. 0\Leftrightarrow{\hat{v} + {\frac{1}{r}\ln \quad 2\quad \frac{w}{c}}} \right. = 0.}} & (5.9) \end{matrix}$

[0205] More general but less conclusive, Lemma 5.1 below is the counterpart of Lemma 4.1.

[0206] Lemma 5.1. The following properties hold for the solution [φ₁,φ₂]of (5.5):

[0207] (a) φ₂<1/r ln(1+c/2).

[0208] (b) 0<φ₂≦π/2 if c ≦2 (

η_(−≦η≦η) ₊(see (4.13))

[0209] (c) There exist if η⁻<0 and η⁰>η⁺>0 such that π/2<φ₃<π for ηε[η⁻,η⁺], π<φ₃<3/2π for η_(−<η<η) ⁻,φ₃<π/2 for η₊<η<η⁰, and no solution exists for η>η⁰.

[0210] (d) φ₂→0 and φ₁ →{circumflex over (β)} as r→∞ if c<2.

[0211] Proof: For (a), from (5.6) and in parallel to (4.13) $\begin{matrix} {{{\left( {1 - \frac{c^{2}}{4}} \right)^{{- 2}\quad r\quad \varphi_{2}}} - {2^{{- r}\quad \varphi_{2}}} + 1} = {{\left( {1 + \frac{c^{2}}{4}} \right)\left( {^{{- r}\quad \varphi_{2}} - \frac{2}{2 - c}} \right)\left( {^{{- r}\quad \varphi_{2}} - \frac{2}{2 + c}} \right)} < 0.}} & (5.10) \end{matrix}$

[0212] If ${c < 2},{{1 - \frac{c^{2}}{4}} > 0},{{\text{so}\quad \frac{2}{2 + c}} < ^{{- r}\quad \varphi_{2}} < 1 < \frac{2}{2 - c}},$

[0213] whereas if ${c > 2},{{1 - \frac{c^{2}}{4}} < 0},$

${^{{- r}\quad \varphi_{2}} - \frac{2}{2 - c}} > 0$

[0214] automatically, which leaves satisfaction of (5.10) to e^(−rφ) ^(₂) >2/2+c only. For (b), consider ${1 \geq {\cos \left( {\varphi_{3} + {\cos^{- 1}\frac{a}{c}}} \right)}} = {{- \frac{2}{c}}{^{r\quad \varphi_{1}}\left( {^{{- r}\quad \varphi_{2}} - {\cos \quad \varphi_{2}}} \right)}}$

[0215] and recall Lemma 4.1(b). For (c), with φ₂<π/2, a sin φ₃+b cos φ₃>φ₃>0 and a cos φ₃−b sin φ₃>0. It is straightforward to see that if (a,b) has the sign combination (+,+), (+,−), or (−,+), respectively, φ₃ must be in either first or second, either second or third, and either first or fourth. The ambivalences can then be reduced by virtue of continuity from the case with y₀=0.

[0216] It is clear that while φ₁=0

φ₂=φ₃ has no solution by simply examining (4.8), a solution for (5.10) actually exists for a unique η>0. Indeed, by (5.10), (5.4) is reduced to $\begin{matrix} {{\left( {2 - a} \right)\sin \quad \varphi_{2}} = {\left. {b\quad \cos \quad \varphi_{2}}\Leftrightarrow{\left( {1 + {p\quad \eta}} \right)\sin \quad \varphi_{2}} \right. = {\left. {q\quad \eta \quad \cos \quad \varphi_{2}}\Rightarrow{\tan \quad \varphi_{2}} \right. = {\frac{b}{2 - a} = {\frac{q\quad \eta}{1 + {p\quad \eta}}.}}}}} & (5.11) \end{matrix}$

[0217] This, together with (5.3), leads to $\begin{matrix} {{\frac{\left( {2 - a} \right)^{2} + b^{2}}{b}\sin \quad \varphi_{2}} = {2{^{r\quad \varphi_{2}}.}}} & (5.12) \end{matrix}$

[0218] It follows that b sin φ₂>0, reducing (5.11) to sin φ₂= ${\sin \quad \varphi_{2}} = \frac{b}{\sqrt{\left( {2 - a} \right)^{2} + b^{2}}}$

[0219] and further to $\begin{matrix} {\varphi_{2} = \left\{ {\begin{matrix} {\quad {{\sin^{- 1}\quad \frac{q\quad \eta}{\sqrt{\left( {2 - a} \right)^{2} + b^{2}}}},}} & {{\eta > 0},} \\ {{\pi - {\sin^{- 1}\quad \frac{q\quad \eta}{\sqrt{\left( {2 - a} \right)^{2} + b^{2}}}}},} & {\quad {\eta < 0}} \end{matrix} = {{{{sgn}(\eta)}\sin^{- 1}\quad \frac{q\quad \eta}{\sqrt{\left( {2 - a} \right)^{2} + b^{2}}}} + {\frac{\pi}{2}\left\lbrack {1 - {{sgn}(\eta)}} \right\rbrack}}} \right.} & (5.13) \end{matrix}$

[0220] and (5.12) to

2e ^(rφ) ^(₂) ={square root}{square root over ((2−a)² +b ²)}={square root}{square root over (1+2pη+η ²)}.   (5.14)

[0221] We thus have $\begin{matrix} {{{{\Phi_{p}(\eta)}\text{:}}\quad = {{{\frac{1}{r}\ln \frac{1}{2}\sqrt{1 + {2p\quad \eta} + \eta^{2}}} - {\sin^{- 1}\quad \frac{q\quad \eta}{\sqrt{\left( {2 - a} \right)^{2} + b^{2}}}} - {\frac{\pi}{2}\left\lbrack {1 - {{sgn}(\eta)}} \right\rbrack}} = 0}},} & (5.15) \end{matrix}$

[0222] an equation in η. Evidently, Φ_(0.1)(0)=−10ln2<0. By the facts that Φ_(0.1)(0)Φ_(0.1)(3.2)<0 and Φ_(0.1)(−2)Φ_(0.1)(−3)<0, solutions for Φ_(p)(η)=0 exist for 0<η<2 and −3<η<−2 for p=0.1, for instance. Via numerical (bi-section) search, the solution η of (5.15) is plotted in FIG. 4 as a function of p.

[0223] Note that η→±{square root}{square root over (3)} as p→0. Moreover, the obtained branches of solutions fit $\begin{matrix} {{\left\lbrack {\eta_{+},\eta_{-}} \right\rbrack = \left\lbrack {{\sqrt{3} + {1.51286p}},{{- \sqrt{3}}^{5.25p}}} \right\rbrack},} & (5.16) \end{matrix}$

[0224] rather well. The [φ₁,φ₂,φ₃]-curves, as η-parametric and p-parametric functions of p and of η, are depicted in FIGS. 5 and 6, respectively. For comparison (and programming convenience, as well), the portions of curves which went beyond the interval in which φ₁>0 are retained.

[0225] Note that for small y₀, the switching phases are rather linear. The simple “linearity” may be useful for predicting/modifying the switching phases from those obtained for [x₀,y₀]=[0,0].

[0226] The analysis for input parity (250) and maximum amplitude (350) switching processes are shown in parallel below. The governing equation is a hybrid of equations (4.21) and (5.5):

e ^(−rφ) ^(₃) [a ₁ cos φ₃ −b ₁ sin φ₃ ,a ₁ sin φ₃ +b ₁ cos φ₃]=[(1−μ)−(1+ρ)u, (1+ρ)v]  (5.17)

[0227] where [ρ,μ] are as defined in (4.22), [u,v] is as given in (4.13), η₁:=y₀/ωA₁ and [a₁,b₁]:=[1−pη₁,qη₁]. In parallel to those from (5.6) to (5.15), $\begin{matrix} {{^{{- 2}r\quad \varphi_{3}} = {\left( {1 + \rho} \right)^{2}\quad \frac{u^{\prime 2} + v^{2}}{a_{1}^{2} + b_{1}^{2}}}},} & (5.18) \\ {\frac{{a_{1}\sin \quad \varphi_{3}} + {b_{1}\cos \quad \varphi_{3}}}{{a_{1}\cos \quad \varphi_{3}} - {b_{1}\sin \quad \varphi_{3}}} = {\left. {- \frac{v}{u^{\prime}}}\rightarrow{\tan \quad \varphi_{3}} \right. = {\left. {- \frac{{a_{1}v} + {b_{1}u^{\prime}}}{{a\quad u^{\prime}} - {bv}}}\Rightarrow\varphi_{3} \right. = {\hat{v}}^{\prime}}}} & (5.19) \end{matrix}$

[0228] where $\begin{matrix} {{{u^{\prime}\text{:}} = {{u - {\frac{1 - \mu}{1 + \rho}\quad {and}\quad v^{\prime}\text{:}}} = {\sin^{- 1}\left( \frac{{a_{1}v} + {b_{1}u^{\prime}}}{{a_{1}u^{\prime}} - {b_{1}v}} \right)}}},} & (5.20) \end{matrix}$

[0229] and it follows that $\begin{matrix} {{^{{- 2}r{\hat{v}}^{\prime}} - {\left( {1 + \rho} \right)^{2}\quad \frac{u^{\prime 2} + v^{2}}{a_{1}^{2} + b_{1}^{2}}}} = {\left. 0\Leftrightarrow{{n{\hat{u}}^{\prime}} + {\frac{1}{2r}{\ln \left( {1 + \rho} \right)}^{2}\quad \frac{u^{\prime 2} + v^{2}}{a_{1}^{2} + b_{1}^{2}}}} \right. = 0.}} & (5.21) \end{matrix}$

Real Mode Switching Processes

[0230] While the described embodiments have been discussed with respect to underdamped servo systems, the principles apply as well to embodiments having overdamped systems where p>1. When the servo is unstable, but has real eigenvalues, no solutions to the timing equations exist. However, in certain situations of unstable servos, where the instability meets certain conditions, solutions still exist for the timing equations. For example, if the eigenvalues of a servo are complex conjugates, solutions exist whether the servo is unstable or not. In essence, if the damping ratio p of an unstable servo meets the condition 0>p>−1, then the servo, while unstable, is not too unstable to solve, and solutions exist. For damping ratios of p<−1, no solutions exist.

[0231] In these embodiments, the overdamped counterpart of (4.1) and §4 becomes:

x″+2pωx′+ω ² x=ω ² A, p>1 and [x,x′]=[0,0].   (6.1)

[0232] It should be understood that such analysis also applies to nonzero initial velocity, as one of skill in the art would readily observe.

[0233] Denote by ${\left\lbrack {q,r,\varphi,\varphi_{i}} \right\rbrack \text{:}} = {\left\lbrack {\sqrt{p^{2} - 1},\frac{p}{q},{q\quad \omega \quad t},{q\quad \omega \quad t_{i}}} \right\rbrack.}$

[0234] Then the two associated characteristic roots are given by

[s ₁ s ₂ ]=−qω[r−1,r+1]  (6.2)

[0235] Setting x=c₁e^(s) ^(₁) ^(t)+c₂e^(s) ^(₂) ^(t) +A so that y=x′=c₁s₁e^(s) ^(₁) ^(t)+c₂s₂e^(s) ^(₂) ^(t), and solving for c₁, c₂ and then for x,y as $\begin{matrix} {{x = {A + {{\frac{1}{2}\left\lbrack {{\left( {1 + r} \right)\left( {x_{0} - A} \right)} + \frac{y_{0}}{q\quad \omega}} \right\rbrack}^{{- {({r - 1})}}\varphi_{1}}} + {{\frac{1}{2}\left\lbrack {{\left( {1 - r} \right)\left( {x_{0} - A} \right)} - \frac{y_{0}}{q\quad \omega}} \right\rbrack}^{{- {({r + 1})}}\varphi_{1}}}}},} & (6.3) \\ {y = {{{- {\frac{1}{2}\left\lbrack {{q\quad {\omega \left( {r^{2} - 1} \right)}\left( {x_{0} - A} \right)} + {\left( {r - 1} \right)y_{0}}} \right\rbrack}}^{{- {({r - 1})}}\varphi_{1}}} + {{\frac{1}{2}\left\lbrack {{q\quad {\omega \left( {r^{2} - 1} \right)}\left( {x_{0} - A} \right)} + {\left( {r + 1} \right)y_{0}}} \right\rbrack}{^{{- {({r + 1})}}\varphi_{1}}.}}}} & (6.4) \end{matrix}$

[0236] If x₀=0, y₀=0, (6.3)-(6.4) reduce to $\begin{matrix} {\left\lbrack {x,y} \right\rbrack = {\quad{\left. \left\lbrack {A\left\{ {{1 - {\frac{1}{2}\left\lbrack {{\left( {1 + r} \right)^{{- {({r - 1})}}\varphi}} + {\left( {1 - r} \right)^{{- {({r + 1})}}\varphi}}} \right\rbrack}},{\frac{1}{2}q\quad {\omega \left\lbrack {^{{- {({r - 1})}}\varphi} - ^{{- {({r + 1})}}\varphi}} \right\rbrack}}} \right.} \right. \right\rbrack.}}} & (6.5) \end{matrix}$

Natural Settling Time

[0237] While knowing x<A (assuming A>0), there appears no simple, analytical way to find settling time via solving min φ>0 from the defining inequality $\begin{matrix} {{\overset{\_}{\in}{\geq \frac{A - x}{A}}} = {{\frac{1}{2}\left\lbrack {{\left( {1 + r} \right)^{{- {({r - 1})}}\varphi}} + {\left( {1 - r} \right)^{{- {({r + 1})}}\varphi}}} \right\rbrack}.}} & (6.6) \end{matrix}$

[0238] By numerical search and curve-fitting (with a trivial range of deviation), however, the settling time (normalized by ω=1) as a function of p and {overscore (ε)} is obtained: $\begin{matrix} {\overset{\_}{t} = \left\{ \begin{matrix} {{\left( {{- 9542.38}{\overset{\_}{\in}}^{3}{+ 2188.67}{\overset{\_}{\in}}^{2}{- 192.13}\overset{\_}{\in}{+ 11.68}} \right)p} +} \\ \left( {3376.99{\overset{\_}{\in}}^{3}{- 776.04}{\overset{\_}{\in}}^{2}{+ 68.20}\overset{\_}{\in}{- 3.32}} \right) \\ {\left( {3376.99 - {9542.38p}} \right){\overset{\_}{\in}}^{3}{+ \left( {{2188.67p} - 776.04} \right)}{\overset{\_}{\in}}^{2} +} \\ {\left( {68.20 - {192.13p}} \right)\overset{\_}{\in}{{{+ 11.68}p} - {3.32.}}} \end{matrix} \right.} & (6.7) \end{matrix}$

[0239] The settling time is nearly linear in p.

[0240] For (numerical) examples, {overscore (ε)}=5%,

[0241] p=1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4

[0242] t=5.47 6.19 6.89 7.57 8.24 8.89 9.53 10.17 10.81 11.44 12.06 12.69 13.31 13.93

[0243] and for p=2,

[0244] {overscore (ε)}=1% 2% 3% 4% 5% 6% 7% 8% 9% 10%

[0245] t=17.44 14.85 13.34 12.27 11.44 10.76 10.18 9.69 9.25 8.85.

Settling Time With Switching

[0246] Observe first that e^(−(r−1)φ)−e^(−(r+1)φ)≠0 for all t>0, i.e., there exist no x- nor y- turning points if |p|>1. As such, for one thing the Shrunk-Fit switching process 150 does not apply to any real-mode case. Note also that A₁=A under process 150 (even with approximation).

[0247] The following considers the input-parity switching process 250 for (6.1), by applying switching commands [+A₁,t₁;−A₂,t₂;A,t] for maximum amplitude switching study, and then by reducing the results to the input-parity case. By (6.5), $\begin{matrix} {\left\lbrack {x_{1},y_{1}} \right\rbrack = {A_{1}\left\lbrack {{1 - {\frac{1}{2}\left( {{\left( {1 + r} \right)^{{- {({r - 1})}}\varphi_{1}}} + {\left( {1 - r} \right)^{{- {({r + 1})}}\varphi_{1}}}} \right)}},{\frac{1}{2}q\quad {\omega \left( {^{{- {({r - 1})}}\varphi_{1}} - ^{{- {({r + 1})}}\varphi_{1}}} \right)}}} \right\rbrack}} & (6.8) \end{matrix}$

[0248] immediately. It follows that $\begin{matrix} {{{x_{1} + A_{2}} = {{A_{1}\left\{ {1 - {\frac{1}{2}\left\lbrack {{\left( {1 + r} \right)^{{- {({r - 1})}}\varphi_{1}}} + {\left( {1 - r} \right)^{{- {({r + 1})}}\varphi_{1}}}} \right\rbrack}} \right\}} + A_{2}}},} \\ {{\frac{y_{1}}{q\quad \omega} = {\frac{1}{2}{{A_{1}\left( {r - 1} \right)}\left\lbrack {{\left( {r + 1} \right)^{{- {({r - 1})}}\varphi_{1}}} - {\left( {r + 1} \right)^{{- {({r + 1})}}\varphi_{1}}}} \right\rbrack}}},} \\ {= {\frac{1}{2}{{A_{1}\left( {r + 1} \right)}\left\lbrack {{\left( {r - 1} \right)^{{- {({r - 1})}}\varphi_{1}}} - {\left( {r - 1} \right)^{{- {({r + 1})}}\varphi_{1}}}} \right\rbrack}}} \end{matrix}$

[0249] Thus, with algebra, $\begin{matrix} {{{\left( {1 \pm r} \right)\left( {x_{1} + A_{2}} \right)} \pm \frac{y_{1}}{q\quad \omega}} = {\left( {1 \pm r} \right){A_{1}\left\lbrack {\left( {1 + \frac{A_{2}}{A_{1}}} \right) - ^{{- {({r \mp 1})}}\varphi_{1}}} \right\rbrack}}} & (6.9) \end{matrix}$

[0250] the following are readily obtained $\begin{matrix} {\begin{matrix} {x_{2} = \quad {{{\frac{1}{2}\left\lbrack {{\left( {1 + r} \right)\left( {x_{1} + A_{2}} \right)} + \frac{y_{1}}{q\quad \omega}} \right\rbrack}^{{- {({r - 1})}}\varphi_{2}}} +}} \\ {\quad {{{{\frac{1}{2}\left\lbrack {{\left( {1 - r} \right)\left( {x_{1} + A_{2}} \right)} - \frac{y_{1}}{q\quad \omega}} \right\rbrack}^{{- {({r + 1})}}\varphi_{2}}} - A_{2}},}} \\ {= \quad {\frac{1}{2}A_{1}\left\{ {{{\left( {1 + r} \right)\left\lbrack {\left( {1 + \rho} \right) - ^{{- {({r - 1})}}\varphi_{1}}} \right\rbrack}^{{- {({r - 1})}}\varphi_{2}}} +} \right.}} \\ {{\left. \quad {{\left( {1 - r} \right)\left\lbrack {\left( {1 + \rho} \right) - ^{{- {({r + 1})}}\varphi_{1}}} \right\rbrack}^{{- {({r + 1})}}\varphi_{2}}} \right\} - A_{2}},} \end{matrix}{and}} & (6.10) \\ \begin{matrix} {y_{2} = \quad {{{- \frac{1}{2}}{\left( {r - 1} \right)\left\lbrack {{q\quad {\omega \left( {r + 1} \right)}\left( {x_{1} + A_{2}} \right)} + y_{1}} \right\rbrack}^{{- {({r - 1})}}\varphi_{2}}} +}} \\ {\quad {\frac{1}{2}{\left( {r + 1} \right)\left\lbrack {{q\quad {\omega \left( {r - 1} \right)}\left( {x_{1} + A_{2}} \right)} + y_{1}} \right\rbrack}^{{- {({r + 1})}}\varphi_{2}}}} \\ {= \quad {\frac{1}{2}q\quad \omega \quad A_{1}\left\{ {{{- \left\lbrack {\left( {1 + \rho} \right) - ^{{- {({r - 1})}}\varphi_{1}}} \right\rbrack}^{{- {({r - 1})}}\varphi_{2}}} +} \right.}} \\ {\left. \quad {\left\lbrack {\left( {1 + \rho} \right) - ^{{- {({r + 1})}}\varphi_{1}}} \right\rbrack ^{{- {({r + 1})}}\varphi_{2}}} \right\}.} \end{matrix} & (6.11) \end{matrix}$

[0251] Evidently, having y₂=0 is equivalent to having

[(1+ρ)−e ^(−(r−1)φ) ^(₁) ]e ^(−(r−1)φ) ^(₂) =[(1+ρ)−e ^(−(r+1)φ) ^(₁) ]e ^(−(r+1)φ) ^(₂) =:χ<1+ρ.   (6.12)

[0252] From (6.12), solve for φ₂ as $\begin{matrix} {\varphi_{2} = {{\frac{1}{2}\ln \frac{\left( {1 + \rho} \right) - ^{{- {({r + 1})}}\varphi_{1}}}{\left( {1 + \rho} \right) - ^{{- {({r - 1})}}\varphi_{1}}}} > 0.}} & (6.13) \end{matrix}$

[0253] Furthermore, (6.12) also reduces x₂ ={fraction (1/2)}(1+r)A₁χ+½(1−r)A₁χ−A₂=A to χ=μ+ρ. By back substitution of (6.13) to (6.12), $\begin{matrix} {\left\lbrack {\left( {1 + \rho} \right) - ^{{- {({r - 1})}}\varphi_{1}}} \right\rbrack^{\frac{r + 1}{2}} = {\left\lbrack {\left( {1 + \rho} \right) - ^{{- {({r + 1})}}\varphi_{1}}} \right\rbrack^{\frac{r - 1}{2}}{\left( {\mu + \rho} \right).}}} & (6.14) \end{matrix}$

[0254] To solve (6.14), it is more convenient to consider $\begin{matrix} \begin{matrix} {{F(x)} = \quad {\ln \frac{\left\lbrack {\left( {1 + \rho} \right) - ^{{- {({r - 1})}}\varphi_{1}}} \right\rbrack^{\frac{r + 1}{2}}}{\left\lbrack {\left( {1 + \rho} \right) - ^{{- {({r + 1})}}\varphi_{1}}} \right\rbrack^{\frac{r - 1}{2}}\left( {\mu + \rho} \right)}}} \\ {= \quad {{\frac{r + 1}{2}{\ln \left\lbrack {\left( {1 + \rho} \right) - ^{{- {({r - 1})}}\varphi_{1}}} \right\rbrack}} -}} \\ {\quad {{\frac{r - 1}{2}{\ln \left\lbrack {\left( {1 + \rho} \right) - ^{{- {({r + 1})}}\varphi_{1}}} \right\rbrack}} - {{\ln \left( {\mu + \rho} \right)}.}}} \end{matrix} & (6.15) \end{matrix}$

[0255] It is then straightforward to obtain $\begin{matrix} \begin{matrix} {{F^{\prime}(x)} = \quad {{\frac{r + 1}{2}\frac{\left( {r - 1} \right)^{{- {({r - 1})}}\varphi_{1}}}{\left\lbrack {\left( {1 + \rho} \right) - ^{{- {({r - 1})}}\varphi_{1}}} \right\rbrack}} - {\frac{r - 1}{2}\frac{\left( {r + 1} \right)^{{- {({r + 1})}}\varphi_{1}}}{\left\lbrack {\left( {1 + \rho} \right) - ^{{- {({r + 1})}}\varphi_{1}}} \right\rbrack}}}} \\ {= \quad {{\frac{r^{2} - 1}{2}\frac{\left( {1 + \rho} \right)\left( {^{{- {({r - 1})}}\varphi_{1}} - ^{{- {({r + 1})}}\varphi_{1}}} \right)}{\left\lbrack {\left( {1 + \rho} \right) - ^{{- {({r + 1})}}\varphi_{1}}} \right\rbrack \left\lbrack {\left( {1 + \rho} \right) - ^{{- {({r - 1})}}\varphi_{1}}} \right\rbrack}} > {0\quad {\forall{x > 0.}}}}} \end{matrix} & (6.16) \end{matrix}$

[0256] That is, F(·) is strictly increasing. Hence, a solution φ₁>0 exists if and only if F(0)F(∞)<0 viz. $\begin{matrix} {{\ln \frac{\rho}{\mu + \rho}\ln \frac{1 + \rho}{\mu + \rho}} < 0} & (6.17) \end{matrix}$

[0257] which is trivially the case if and only if

0<μ<1 and 0<ρ≦1.   (6.18)

[0258] With the input-parity switching process 250, A=A₁=A₂, ρ=1, μ=1, χ=2 trivially and (6.13)-(6.14) reduce to $\begin{matrix} {{\varphi_{2} = {\frac{1}{2}\ln \frac{2 - ^{{- {({r + 1})}}\varphi_{1}}}{2 - ^{{- {({r - 1})}}\varphi_{1}}}}}{and}} & (6.19) \\ {\left\lbrack {2 - ^{{- {({r - 1})}}\varphi_{1}}} \right\rbrack^{\frac{r + 1}{2}} = {2 \cdot {\left\lbrack {2 - ^{{- {({r + 1})}}\varphi_{1}}} \right\rbrack^{\frac{r - 1}{2}}.}}} & (6.20) \end{matrix}$

[0259] In spite of their simple appearances, the fact that F(∞)=0 indicates that φ₁=∞ is the only solution, which is useless. As such, there exists no input-parity switching process solution for (6.1).

[0260] In comparison, the maximum-amplitude switching process 350 entails ρ=1 only. Thus, (6.19) still applies, whereas (6.14) becomes $\begin{matrix} {\left\lbrack {2 - ^{{- {({r - 1})}}\varphi_{1}}} \right\rbrack^{\frac{r + 1}{2}} = {\left( {1 + \mu^{*}} \right) \cdot {\left\lbrack {2 - ^{{- {({r + 1})}}\varphi_{1}}} \right\rbrack^{\frac{r - 1}{2}}.}}} & (6.21) \end{matrix}$

[0261] In the previous notation (6.15), F(0)F(∞)=−ln(1+μ* )ln $\frac{2}{1 + \mu^{*}}$

[0262] <0. A finite φ₁>0 exists. The solution curves of [t₁,t₂,t₃] as parametric functions of ρ=1, μ and p are shown in FIG. 7.

[0263] While it might appear acceptable to have approximity instead of strict equality in (6.20) for input-parity consideration (now that +∞ is the only exact solution), it turns out that input parity switching offers little in this case, since the trajectories of the natural and the switched servos are almost identical.

[0264] Consider now the degenerate case that p=1, a critically damped system, resulting in r=−ω a double root. Formulating x=e^(−φ)(c₁+c₂t)+A so that y=e^(−φ)[−ωc₁+c₂(1−φ)], and solving for c₁ and c₂: $\begin{matrix} {{x = {{^{- \varphi}\left\{ {\left( {x_{0} - A} \right) + {\left\lbrack {y_{0} + {\omega \left( {x_{0} - A} \right)}} \right\rbrack t}} \right\}} + A}},} & (6.22) \\ {{y = {^{- \varphi}\left\{ {{- {\omega \left( {x_{0} - A} \right)}} + {\left\lbrack {y_{0} + {\omega \left( {x_{0} - A} \right)}} \right\rbrack \left( {1 - \varphi} \right)}} \right\}}},} & (6.23) \end{matrix}$

[0265] which reduce to

[x,y]=[A[1−e^(−φ)(1+φ)], Aωφe ^(−φ)]  (6.24)

[0266] for x₀=0 and y₀=0. Again, the shrunk fit switching process 150 has no solution.

[0267] For the input parity switching process 250, observe that

x ₁ =A ₁[1−e ^(−φ) ^(₁) (1+φ₁)]

x ₁ +A ₂ =A ₁[(1+ρ)−e ^(−φ) ^(₁) (1+φ₁)],   (6.25)

y ₁ =A ₁ωφ₁ e ^(−φ) ^(₁)

y ₁+ω(x ₁ +A ₂)=A ₁ω[(1+ρ)−e ^(−φ) ^(₁) ],   (6.26)

[0268] and $\begin{matrix} \begin{matrix} {x_{2} = {{^{- \varphi_{2}}\left\{ {\left( {x_{1} + A_{2}} \right) + {\left\lbrack {y_{1} + {\omega \left( {x_{1} + A_{2}} \right)}} \right\rbrack t_{2}}} \right\}} - A_{2}}} \\ {{= {{{A_{1}\left\lbrack {{\left( {1 + \rho - ^{- \varphi_{1}}} \right)\left( {1 + \varphi_{2}} \right)} - {\varphi_{1}^{- \varphi_{1}}}} \right\rbrack}^{- \varphi_{2}}} - A_{2}}},} \end{matrix} & (6.27) \\ \begin{matrix} {y_{2} = {^{- \varphi_{2}}\left\{ {{- {\omega \left( {x_{1} + A_{2}} \right)}} + {\left\lbrack {y_{1} + {\omega \left( {x_{1} + A_{2}} \right)}} \right\rbrack \left( {1 - \varphi_{2}} \right)}} \right\}}} \\ {= {A_{1}{{\omega \left\lbrack {{^{- \varphi_{1}}\left( {\varphi_{1} + \varphi_{2}} \right)} - {\left( {1 + \rho} \right)\varphi_{2}}} \right\rbrack}.}}} \end{matrix} & (6.28) \end{matrix}$

[0269] By setting y₂=0, $\begin{matrix} {{\varphi_{2} = {\frac{y_{1}}{y_{1} + {\omega \left( {x_{1} + A} \right)}} = {\cdots = \frac{\varphi_{1}^{- \varphi_{1}}}{\left( {1 + \rho} \right) - ^{- \varphi_{1}}}}}},} & (6.29) \end{matrix}$

[0270] and by setting x₂=A and simplifying, $\begin{matrix} {{1 + \rho - ^{- \varphi_{1}}} = {\left. {\left( {\mu + \rho} \right)^{\frac{\varphi_{1}^{- \varphi_{1}}}{{({1 + \rho})} - ^{- \varphi_{1}}}}}\Leftrightarrow{{F\left( \varphi_{1} \right)}\text{:}} \right. = {{\ln \frac{1 + \rho - ^{- \varphi_{1}}}{\left( {\mu + \rho} \right)^{\frac{\varphi_{1}^{- \varphi_{1}}}{{({1 + \rho})} - ^{- \varphi_{1}}}}}} = 0}}} & (6.30) \end{matrix}$

[0271] is obtained.

[0272] By the facts that F(0)=ln[ρ/(μ+ρ)]<0,F(∞)=ln[(1+ρ)/(μ+ρ)]>0 if 0<μ<1 and $\begin{matrix} {{{F^{\prime}(x)} = {{\ln \frac{\left( {1 + \rho} \right)x\quad ^{- x}}{\left\lbrack {\left( {1 + \rho} \right) - ^{- x}} \right\rbrack^{2}}} > {0\quad {\forall{x > 0}}}}},} & (6.31) \end{matrix}$

[0273] a solution φ₁>0 exists, as well.

[0274] For p<−1, (6.12) applies still, with −(r−1)>−(r+1)>0. It follows that 1+ρ−e^(−(r−1)φ) ^(₁) and 1+ρ−e^(−(r+1)φ) ^(₁) must necessarily have the same sign. As either possibility fails (6.13), for p<−1, this switching process does not apply. This holds for any ρ, including that for maximum-amplitude switching ρ=1.

[0275] For p=−1, it suffices to reverse signs of certain terms in (6.21)-(6.27), yielding $\begin{matrix} {{0 < \varphi_{2}} = \left. {\frac{\varphi_{1}^{\varphi_{1}}}{1 + \rho - ^{\varphi_{1}}}.}\Leftrightarrow{{1 + \rho - ^{\varphi_{1}}} > 0.} \right.} & (6.32) \end{matrix}$

[0276] The equation for φ₁ then becomes $\begin{matrix} {{{1 + \rho - ^{\varphi_{1}}} = \left. {{\left( {\mu + \rho} \right)^{\frac{\varphi_{1}^{\varphi_{1}}}{1 + \rho - ^{\varphi_{1}}}}} > {\mu + \rho}}\Leftrightarrow{1 > {\mu + ^{\varphi_{1}}}} \right.},} & (6.33) \end{matrix}$

[0277] which is impossible since φ₁>0.

[0278] As is evidenced by reading out from FIG. 8, there exists a minimax for μ=0.8 (by taking μ as a parameter); it has appeared that this might be true for all ρ. Recall from FIG. 3B that this ‘minimax’ also exists for 0<p<1. This was not exhibited in FIG. 6.1 (p>1), however.

[0279] Derivation of the curve-fit results parallel to (4.23) for p≧1 and the results for the cases with nonzero initial velocity parallel to §5 are within the scope of one of skill in the art, and are within the scope of the present invention.

Some Operational Considerations

[0280] Servos are often used in continuous mode, that is, the servos receive commands one after the other in a continuous fashion. Further, some servos have command structures with quantized levels for the command, that is, there are specific quantized levels at which the commands are available, instead of along a continuous spectrum of levels. The various embodiments of the present invention as described above are applicable to such servos and to such command level structures.

[0281] In this section, considerations are given to two issues that arise naturally in putting the results to practical use. One addresses using the servos in continuous operation, i.e., the servos receiving commands one after another. The other, implicitly related to the first, is concerned with having not analog but quantized levels of command available to the servos.

[0282] As indicated in equations (3.16)-(3.18), solutions of the right switching phases (times) can be given by preparing off-line formulae derived via curve-fitting and by retrieving their values in on-line operation mode. A small block of memory is needed to store the coefficients pertinent to the retrieval. It is, however, feasible as well that the right switching phases be solved on-the-fly as the solutions converge rather quickly even in the maximum amplitude switching process 350 for which the timing needs to be re-computed upon arrival of new command.

Continuous Operation

[0283] The above switching schemes work well if the servomechanism is given with one command level A. In addition, some degree of robustness of the system given variations in mass, viscosity, stiffness, initial position and velocity, and the like is also present. In a situation in which a servo expects more than one commanded input constant, the following applies:

[0284] Consider the following servo input: $\begin{matrix} {A = {{A(t)} = \left\{ \begin{matrix} {A_{1},} & {{0 < t \leq t^{1}},} \\ {A_{2},} & {{t^{1} < t \leq t^{2}},} \\ {\vdots,} & {\vdots.} \end{matrix} \right.}} & (7.1) \end{matrix}$

[0285] Furthermore, assume that as t=0, x(0)=0 has been ensured (by initial pre-operation calibration). Then, as long as

t ₃ <t ¹ <t ² −t ¹ <t ³ −t ²<  (7.2)

[0286] and as long as the new command input is ‘reset’ by having

A ¹ =A ₁ ,A ² =A ₂ −A ₁ ,A ³ =A ₃ =A ₂, . . . ,   (7.3)

[0287] the switching scheme operates as expected.

[0288] If the new command arrives too early and is in the reverse direction of the last leg (resumption) of switching, there will be a nontrivial delay before the new command is well served. To reduce this delay, in one embodiment the timing for the switching is reset (instead of letting it run thru its course) whenever a new command arrives, regardless whether the previous command has been fulfilled. Consider the scenario that τ^(k+1)<t₁,

τ ^(k) :=t ^(k+1) −t ^(k).

[0289] In this situation, a new command arrives while (3.1) is at its normal phase even before reaching the first switching. Thus, [x(τ^(k)),y(τ^(k))], and upon reset [0,y(τ^(k))] is the initial condition associated with (3.1) in applying the various embodiments of the switching schemes to serve the command A^(k+1)−A^(k). Assuming that a measurement x(τ^(k)) is not available, x(τ^(k)) will be somewhere between 0 and A^(k)−A^(k−1), its previous goal. This scenario has, in fact, motivated the need to look for an algorithm with which the settling time could be further shortened so as to accommodate frequent changes of command levels.

[0290] As mentioned earlier, by applying the convolution theorem the results may apply to serve with a more sophisticated command set; therefore, the discussion focused on piecewise constant commands is not a restriction but rather a simplification. Indeed, if the actuator has a much faster natural frequency than the servo command set has, piecewise constant commands serve well as an approximation.

Quantized Levels of Command

[0291] Let Â:{A¹,A², . . . A^(N)} be the quantized levels of command a servomechanism is able to generate (besides zero), 0<A^(i) in ascending order, and let A^(N)>A∉Â be the input level commanded. Consider the following question:

[0292] It is possible to schedule the input command levels such that x(t) is settled nearest to A. For example, when only discretized responses can be generated by the actuator employed, e.g., step motors, on-off valves, etc., a solution is given below.

[0293] For simplicity, consider first that A₁=A²−A¹=A³−A²=. . . =A^(N)−A^(N−1), i.e., uniformly spaced. Let $\begin{matrix} {{{A^{k}\text{:}} = {\min\limits_{k}\left\{ {{{A - A^{1}}},\cdots \quad,{{A - A^{N}}}} \right\}}},} & (7.4) \end{matrix}$

[0294] i.e., A rounded off to its nearest quantum A^(k). Apply the maximum amplitude switching process 350 first with A^(k), viz.+A^(N) for t₁(A^(k),A^(N)), then −A^(N) for t₂(A^(k),A^(N)). Now, at t₃=t₁+t₂, if A^(k) is applied, x(t)=A^(k) for t≧t₃, and thus there is a steady-state error $\begin{matrix} {{{A - A^{k}}} \leq {\frac{1}{2}A^{1}}} & (7.5) \end{matrix}$

[0295] which is a minimum possible but unavoidable. Note that A^(k−1) or A^(k+1) may substitute for A^(k) if there is any additional constraint on the steady-state error. Note also that only one maximum amplitude switching is needed and the settling time incurred would be this t₃ only.

[0296] Consider next the case that the input levels are not uniformly spaced. Now, apply maximum amplitude switching with A^(l) ^(₁) for any A^(l) ^(₁) <A first. Apply next with

A ^(l) ^(₁) <A−A ^(l) ^(_(l−1)) , i=2, . . . m   (7.6)

[0297] until the steady-state error is acceptably small. By (4.31), it is not difficult to see that the total amount of settling time is given by $\begin{matrix} {t_{3} = {{\frac{1}{\omega}\left( {{\varphi_{3}^{\$}\frac{A^{l_{1}}}{A_{\max}}} + \varphi_{30}} \right)} + \cdots + {{\left. \left( {{\varphi_{3}^{\$}\frac{A^{l_{m}}}{A_{\max}}} + \varphi_{30}} \right) \right.\sim{\frac{1}{\omega}\left\lbrack {{\left( {m - 1} \right)\varphi_{3}^{\$}\frac{A}{A_{\max}}} + {m\quad \varphi_{30}}} \right\rbrack}}.}}} & (7.7) \end{matrix}$

[0298] For instance, m=2, which hopefully would be the typical case, t₃˜ ${\varphi_{3}^{\$}\frac{A}{A_{\max}}} + {2{t_{30}.}}$

[0299] This embodiment shows that it is possible to alleviate the problem of inadequate performance in resolution due to having large quantized error by switching.

Simulation Results

[0300] Various simulation results for the embodiments presented above are shown in graph form in FIGS. 9 to 17. The figures have been discussed or mentioned briefly above in terms of actual processes such as shrunk fit process 150, input parity process 250, and maximum amplitude process 350. FIG. 9 shows performance comparison of a natural, that is unswitched, servo versus a servo switched using input parity switching process 200. Lines 902 and 904 represent unswitched position and unswitched velocity, respectively. In this embodiment, the command level is 10. Lines 906 and 908 represent switched position and switched velocity, respectively.

[0301]FIG. 10 shows position comparisons for unswitched servo (line 1002), servo switched with shrunk fit switching process 100 (line 1004), servo switched with input parity switching process 200 (line 1006), and servo switched with maximum amplitude switching process 300 (line 1008).

[0302]FIG. 11 shows position trajectory curves for an input parity switched process 200 with a range of initial nonzero velocities.

[0303]FIG. 12 shows position and velocity trajectory plots for an unswitched servo (lines 1202 and 1204 respectively) and for a maximum amplitude switching process 300 (lines 1206 and 1208 respectively), when the servo is overdamped.

[0304]FIG. 13 shows position and velocity trajectory plots for an unswitched servo (lines 1302 and 1304 respectively) and for a maximum amplitude switching process 300 (lines 1306 and 1308 respectively), when the servo is critically damped.

[0305]FIG. 14 shows an unswitched position trajectory plot for an unstable system (line 1402) versus a maximum amplitude switching process 300 position trajectory plot for the unstable system (line 1404) for a command level of 10.

[0306]FIG. 15 shows a graph of a series of command levels 3, 6, −1, and 1, as well as position trajectory plots for an unswitched servo (line 1502) and for a maximum amplitude switching process 300 servo (line 1504).

[0307]FIG. 16 shows a graph of a trajectory plot for a servo using quantized servo commands and maximum amplitude switching process 300. The desired command level is approximately 7.7. The nearest switching levels for servo commands are 7 and 8. This embodiment uses a defined duty cycle to alternate between allowable levels 7 and 8 such that the position is in proportion to the actual command.

[0308]FIG. 17 shows a graph of various position trajectories for unswitched servos (line 1702), and for switched servos using one of the described switching processes 100, 200, or 300 for timing errors of 5% (line 1704) and 10% (line 1706). In other words, the switching times are off by the factors of 5% or 10% due to some error, such as imperfect curve fitting, changing commands, and the like.

CONCLUSION

[0309] Analysis and simulation results have been given to three switching processes, namely shrunk fit switching, input parity switching, and maximum amplitude switching. These switching processes, and the apparatuses that embody the processes, achieve quick settling and trivial overshoot for second-order LTI servomechanisms. The switching processes achieve the results without the use of sensors.

[0310] The embodiments of the present invention are applicable not only for underdamped servos, but also to certain zero-damped, overdamped, critically-damped, and oscillatorily-unstable servos. In addition to these, the processes are applicable to underdamped servos with a nonzero initial velocity.

[0311] Application of the processes to time-continuous operation of servos and to servos that are equipped only by quantized command level is also embodied.

[0312] In the embodiments, no sensors are used to determine position of any servo mechanism. Since sensors are not required, numerous advantages accrue. Among the advantages of sensor-free servo settling systems such as those described herein are increased payload availability, reduced weight, reduced size, and the like.

[0313] In specific embodiments, methods for controlling a servo of any order include at least re-scheduling of a servo input command signal by applying a switching schedule consisting of a sequence of switching instructions such as amplitude-timelapse pairs, to the servo, and returning to the original servo command at the end of the calculated switching command schedule.

[0314] In another embodiment, a switching process-controlled servo control system, as stated above, includes a servomechanism, a processor operatively connected to control the servo, and a timer programmed to apply input command signal amplitudes at pre-determined switching time instants.

[0315] In yet another embodiment, a command program for controlling a servo without using sensors includes machine-readable instructions for effecting the method of controlling a servo by applying switching command schedule calculated as stated above.

[0316] In still another embodiment, a method of controlling servos of the second order includes formulating the two algebraic conditions that equate the velocity to zero and the position to what originally commanded, at the end of the switching time schedule.

[0317] In still another embodiment, an algorithm for programming the instructions includes effecting switching process-controlled servos by curve-fitting the solutions of the algebraic position-velocity equations for efficient execution of the switching program.

[0318] Three different implementations of the methods stated above, to meet differing performance-cost specifications, are supplied. The first implementation requires one switching instruction, the amplitude of which is a calculated proportion of the original servo input, and the timelapse of which phases exactly half a cycle from commencement. The second implementation settles faster than the first but requires two switching amplitude-timelapse instructions, the first amplitude of the two being the same as the original servo input, and the second, the negative of the first, and the two timelapses being specified by the unique solutions of the two algebraic position-velocity equations. The third implementation settles the fastest of the three, and requires two switching instructions as well, of which the amplitudes are the maximum and its negative that the servomechanism can provide, and the two timelapses are specified also from the corresponding position-velocity equations.

[0319] Application of the various embodiments of the present invention can be made to numerous systems, including by way of example only and not by way of limitation any positional and rotary platforms upon which the servos operate, such as jet reaction control systems, fire control systems, hard disk drive control systems, low-cost guidance systems, numerical precision control systems, elevator debouncing control, tracking radar, auto pilot, hard disk read/write head movement control, scenery changes in virtual reality environment, helmet-mounted displays, and the like.

[0320] All the timing for the switching embodiments described herein can be obtained on an off-line basis via curve-fitting, which is helpful for practical servo application.

[0321] Embodiments for overdamped systems, critically-damped, and, in fact, systems with unstable complex modes are also presented. Furthermore, some aspects of applying these switching processes in practical, that only discrete/quantized levels of inputs available, are elaborated as well.

[0322] Also, making use of the convolution theorem, the processes and apparatuses of the various embodiments of the present invention are extendable to accommodating a larger class of non-constant servo commands.

[0323] It is to be understood that the above description is intended to be illustrative, and not restrictive. Many other embodiments will be apparent to those of skill in the art upon reading and understanding the above description. The scope of the invention should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. 

What is claimed is:
 1. A method for controlling a servo, comprising: calculating at least a first switching time to change an amplitude of a command signal to a servo; providing a first amplitude to the servo for the first switching time; and switching the amplitude of the command signal to the servo from the first amplitude to a second amplitude at the first switching time.
 2. The method of claim 1, wherein the first amplitude is the command signal amplitude multiplied by a predetermined fraction.
 3. The method of claim 2, wherein the predetermined fraction has a value less than one.
 4. The method of claim 2, wherein the predetermined fraction is ½.
 5. The method of claim 1, wherein the second amplitude is the command signal amplitude.
 6. The method of claim 1, and further comprising: calculating a second switching time; and switching the amplitude of the command signal from the second amplitude to a third amplitude at the second switching time.
 7. The method of claim 6, wherein the first amplitude is the command signal amplitude.
 8. The method of claim 7, wherein the second amplitude is the negative of the command signal amplitude.
 9. The method of claim 8, wherein the third amplitude is the command signal amplitude.
 10. The method of claim 6, wherein: the first amplitude is the command signal amplitude; the second amplitude is the negative of the command signal amplitude; and the third amplitude is the command signal amplitude.
 11. The method of claim 6, wherein the amplitude presented to the servo changes at the first switching time from the command signal amplitude to the negative of the command signal amplitude, and changes at the second switching time from the negative of the command signal amplitude to the command signal amplitude.
 12. The method of claim 6, wherein switching the amplitude comprises: calculating a maximum amplitude for the servo; switching at the first switching time from the maximum amplitude to the negative of the maximum amplitude; and switching at the second switching time from the negative of the maximum amplitude to the command signal amplitude.
 13. The method of claim 6, wherein the amplitude presented to the servo changes at the first switching time from the command signal amplitude to the negative of the command signal amplitude, and changes at the second switching time from the negative of the command signal amplitude to the command signal amplitude.
 14. The method of claim 1, wherein calculating comprises solving for unknowns in second order linear servo control equations.
 15. The method of claim 1, and further comprising: adjusting the switching times upon receipt of another input command signal.
 16. The method of claim 15, wherein adjusting comprises: determining position and velocity of the servo from a timer and initial conditions alone; and recalculating switching times factoring in the position and velocity of the servo.
 17. A method for controlling a servo, comprising: calculating a switching time to switch a servo from a first amplitude input to a command input amplitude input; multiplying the command input amplitude by a predetermined fit factor to obtain the first amplitude; applying the first amplitude up to the switching time; and applying the command input after the first switching time.
 18. A method for controlling a servo, comprising: calculating first and second switching times; applying a command input amplitude to the servo up to the first switching time; applying the negative of the command input amplitude to the servo from the first switching time to the second switching time; and applying the command input amplitude to the servo after the second switching time.
 19. A method for controlling a servo, comprising: calculating first and second switching times; calculating a maximum amplitude the servo can accept; applying the maximum amplitude to the servo up to the first switching time; applying the negative of the maximum amplitude to the servo from the first switching time to the second switching time; and applying a command input amplitude to the servo after the second switching time.
 20. A servo system, comprising: a servo; a processor operatively connected to control the servo; and a timer programmed to time application of input command signal amplitudes to the servo at pre-determined switching time instants.
 21. The servo system of claim 20, wherein the processor applies the input command signal amplitude multiplied by a constant to the servo up to a first switching time, and the processor applies the command signal amplitude to the servo after the first switching time.
 22. The servo system of claim 21, wherein the processor applies a first amplitude up to a first switching time, a second amplitude from the first switching time to a second switching time, and a third amplitude from the second switching time forward.
 23. The servo system of claim 20, wherein the first amplitude is the command signal amplitude, the second amplitude is the negative of the command signal amplitude, and the third amplitude is the command signal amplitude.
 24. The servo system of claim 23, wherein the first amplitude is the maximum allowable servo amplitude, the second amplitude is the negative maximum servo amplitude, and the third amplitude is the command signal amplitude.
 25. A command program for switching a servo without sensors, comprising machine readable instructions for effecting a method, the method comprising: calculating at least a first switching time to switch a command amplitude from a first level to a second level; and switching the amplitude of the command signal to the servo at the switching time.
 26. The command program of claim 25, wherein switching the amplitude comprises: generating a first amplitude by multiplying the command signal amplitude by a predetermined fraction; applying the first amplitude to the servo up to the first switching time; and applying the command signal amplitude to the servo after the first switching time.
 27. The command program of claim 25, wherein the method further comprises: calculating a second switching time; and wherein switching the amplitude comprises: applying the command signal amplitude to the servo for the first switching time, applying the negative of the command signal amplitude to the servo between the first and the second switching times, and applying the command signal amplitude to the servo after the second switching time.
 28. The command program of claim 25, wherein the method further comprises: calculating a second switching time; calculating a maximum allowable amplitude for the servo; and wherein switching the amplitude comprises: applying the maximum allowable amplitude to the servo for the first switching time, applying the negative of the maximum allowable amplitude to the servo between the first and the second switching times, and applying the command signal amplitude to the servo after the second switching time.
 29. A method of switching a servo, comprising: applying predetermined input values to the servo at selected times; and settling the servo using only the input values and switching times.
 30. The method of claim 29, wherein the predetermined times comprise a first switching time, and the predetermined input values comprise a first and a second input value, and wherein the first input value is applied for the first switching time, and the second input value is applied after the first switching time.
 31. The method of claim 30, wherein the first input value is a predetermined fraction of the command signal amplitude, and wherein the second input value is the command signal amplitude.
 32. The method of claim 29, wherein the predetermined times comprise a first and a second switching time, and the predetermined input values comprise first and second input values, and wherein the first input value is applied up to the first switching time and after the second switching time, and the second input value is applied between the first and the second switching times.
 33. The method of claim 32, wherein the first input value is the command signal amplitude, and wherein the second input value is the negative of the command signal amplitude.
 34. The method of claim 29, wherein the predetermined times comprise a first and a second switching time, and the predetermined input values comprise first, second, and third input values, and wherein the first input value is applied up to the first switching time, the second input value is applied between the first and the second switching times, and the third input value is applied after the second switching time.
 35. The method of claim 34, wherein the first input value is the maximum allowable input value for the servo, the second amplitude is the negative of the maximum input amplitude of the servo, and the third amplitude is the command signal amplitude.
 36. A method for controlling a servomechanism, comprising: initiating a servomechanism control command; modifying the command based on the type of servomechanism; applying the modified command to the servomechanism.
 37. The method of claim 36, wherein modifying the command comprises: calculating a constant input having a magnitude smaller than the magnitude of the command.
 38. The method of claim 37, wherein applying the modified command comprises applying the constant input from a time zero to a predetermined second time.
 39. The method of claim 38, wherein the second time is computed by solving equations of angular velocity and position conditions of the system.
 40. The method of claim 36, wherein modifying the command comprises: determining a first time and a second time based on the solutions of equations of angular velocity and position.
 41. The method of claim 40, wherein applying the modified command comprises: applying a commanded input level from time 0 to the first time; applying a negative of the commanded input level for the second time; and applying a commanded input level from then on.
 42. The method of claim 36, wherein modifying the command comprises: determining a maximum command level amplitude for the system; and determining a first time and a second time based on the solutions of equations of angular velocity and position.
 43. The method of claim 42, wherein applying the modified command comprises: applying the maximum command level from time 0 to the first time; applying a negative of the maximum command level for the second time; and applying the commanded input level from then on.
 44. The method of claim 42, wherein determining the first and the second times comprises curve-fitting the solutions of velocity and position equation as functions of the system parameters.
 45. A method for controlling a servomechanism, comprising: pre-processing a servo command according to a predetermined processing protocol; generating a new command set from the servo command; and applying the new command set to the servomechanism.
 46. The method of claim 45, wherein pre-processing comprises: looking up a type of servo from a lookup table; looking up a processing protocol for the type of servo; and applying the processing protocol for the type of server.
 47. A method for operating a control system, comprising: determining if an explicit solution as a function of the system parameters is available; receiving a command for the control system; modifying the command according to a predetermined modification protocol; and applying the modified command to the system. 